
u-boot-hi3516ev300.elf:     file format elf32-littlearm


Disassembly of section .text:

40700000 <__image_copy_start>:
40700000:	ea000515 	b	4070145c <reset>
40700004:	eafffffe 	b	40700004 <__image_copy_start+0x4>
40700008:	eafffffe 	b	40700008 <__image_copy_start+0x8>
4070000c:	eafffffe 	b	4070000c <__image_copy_start+0xc>
40700010:	eafffffe 	b	40700010 <__image_copy_start+0x10>
40700014:	eafffffe 	b	40700014 <__image_copy_start+0x14>
40700018:	eafffffe 	b	40700018 <__image_copy_start+0x18>
4070001c:	eafffffe 	b	4070001c <__image_copy_start+0x1c>
40700020:	deadbeef 	.word	0xdeadbeef
40700024:	deadbeef 	.word	0xdeadbeef
40700028:	deadbeef 	.word	0xdeadbeef
4070002c:	deadbeef 	.word	0xdeadbeef
40700030:	deadbeef 	.word	0xdeadbeef
40700034:	deadbeef 	.word	0xdeadbeef
40700038:	deadbeef 	.word	0xdeadbeef
4070003c:	deadbeef 	.word	0xdeadbeef

40700040 <__blank_zone_start>:
	...

40701440 <_blank_zone_start>:
40701440:	40700040 	.word	0x40700040

40701444 <_blank_zone_end>:
40701444:	40701440 	.word	0x40701440
40701448:	deadbeef 	.word	0xdeadbeef
4070144c:	deadbeef 	.word	0xdeadbeef

40701450 <_TEXT_BASE>:
40701450:	40700000 	.word	0x40700000

40701454 <_clr_remap_fmc_entry>:
40701454:	14001554 	.word	0x14001554

40701458 <_start_armboot>:
40701458:	40704394 	.word	0x40704394

4070145c <reset>:
4070145c:	ea000087 	b	40701680 <save_boot_params>

40701460 <save_boot_params_ret>:
40701460:	e10f0000 	mrs	r0, CPSR
40701464:	e200101f 	and	r1, r0, #31
40701468:	e331001a 	teq	r1, #26
4070146c:	13c0001f 	bicne	r0, r0, #31
40701470:	13800013 	orrne	r0, r0, #19
40701474:	e38000c0 	orr	r0, r0, #192	; 0xc0
40701478:	e129f000 	msr	CPSR_fc, r0
4070147c:	ee110f10 	mrc	15, 0, r0, cr1, cr0, {0}
40701480:	e3c00a02 	bic	r0, r0, #8192	; 0x2000
40701484:	ee010f10 	mcr	15, 0, r0, cr1, cr0, {0}
40701488:	e24f0090 	sub	r0, pc, #144	; 0x90
4070148c:	e2400c14 	sub	r0, r0, #20, 24	; 0x1400
40701490:	ee0c0f10 	mcr	15, 0, r0, cr12, cr0, {0}
40701494:	e59f023c 	ldr	r0, [pc, #572]	; 407016d8 <cpu_init_cp15+0x54>
40701498:	e5901140 	ldr	r1, [r0, #320]	; 0x140
4070149c:	e59f2238 	ldr	r2, [pc, #568]	; 407016dc <cpu_init_cp15+0x58>
407014a0:	e1510002 	cmp	r1, r2
407014a4:	1a000019 	bne	40701510 <normal_start_flow>
407014a8:	e1a0100d 	mov	r1, sp
407014ac:	e5801140 	str	r1, [r0, #320]	; 0x140
407014b0:	e51f0078 	ldr	r0, [pc, #-120]	; 40701440 <_blank_zone_start>
407014b4:	e51f106c 	ldr	r1, [pc, #-108]	; 40701450 <_TEXT_BASE>
407014b8:	e0400001 	sub	r0, r0, r1
407014bc:	e59f121c 	ldr	r1, [pc, #540]	; 407016e0 <cpu_init_cp15+0x5c>
407014c0:	e59fd21c 	ldr	sp, [pc, #540]	; 407016e4 <cpu_init_cp15+0x60>
407014c4:	e0800001 	add	r0, r0, r1
407014c8:	e3a01000 	mov	r1, #0
407014cc:	eb0000ad 	bl	40701788 <init_registers>
407014d0:	e59f0200 	ldr	r0, [pc, #512]	; 407016d8 <cpu_init_cp15+0x54>
407014d4:	eb00017f 	bl	40701ad8 <start_ddr_training>
407014d8:	e59f01f8 	ldr	r0, [pc, #504]	; 407016d8 <cpu_init_cp15+0x54>
407014dc:	e5901140 	ldr	r1, [r0, #320]	; 0x140
407014e0:	e1a0d001 	mov	sp, r1
407014e4:	e5901144 	ldr	r1, [r0, #324]	; 0x144
407014e8:	e1a0f001 	mov	pc, r1
407014ec:	e320f000 	nop	{0}
407014f0:	e320f000 	nop	{0}
407014f4:	e320f000 	nop	{0}
407014f8:	e320f000 	nop	{0}
407014fc:	e320f000 	nop	{0}
40701500:	e320f000 	nop	{0}
40701504:	e320f000 	nop	{0}
40701508:	e320f000 	nop	{0}
4070150c:	eafffffe 	b	4070150c <save_boot_params_ret+0xac>

40701510 <normal_start_flow>:
40701510:	e59fd1cc 	ldr	sp, [pc, #460]	; 407016e4 <cpu_init_cp15+0x60>
40701514:	eb000a5d 	bl	40703e90 <uart_early_init>
40701518:	eb00004a 	bl	40701648 <msg_main_cpu_startup>
4070151c:	e59f01c4 	ldr	r0, [pc, #452]	; 407016e8 <cpu_init_cp15+0x64>
40701520:	e59f31c4 	ldr	r3, [pc, #452]	; 407016ec <cpu_init_cp15+0x68>
40701524:	e5803020 	str	r3, [r0, #32]
40701528:	e3a03001 	mov	r3, #1
4070152c:	e5803000 	str	r3, [r0]
40701530:	e1a00c2f 	lsr	r0, pc, #24
40701534:	e3500000 	cmp	r0, #0
40701538:	1a000005 	bne	40701554 <do_clr_remap>

4070153c <check_boot_type>:
4070153c:	e59f0194 	ldr	r0, [pc, #404]	; 407016d8 <cpu_init_cp15+0x54>
40701540:	e590008c 	ldr	r0, [r0, #140]	; 0x8c
40701544:	e1a06220 	lsr	r6, r0, #4
40701548:	e2066001 	and	r6, r6, #1
4070154c:	e3560001 	cmp	r6, #1
40701550:	351ff104 	ldrcc	pc, [pc, #-260]	; 40701454 <_clr_remap_fmc_entry>

40701554 <do_clr_remap>:
40701554:	e59f417c 	ldr	r4, [pc, #380]	; 407016d8 <cpu_init_cp15+0x54>
40701558:	e5940000 	ldr	r0, [r4]
4070155c:	e3800c01 	orr	r0, r0, #256	; 0x100
40701560:	e5840000 	str	r0, [r4]
40701564:	ee110f10 	mrc	15, 0, r0, cr1, cr0, {0}
40701568:	e3800a01 	orr	r0, r0, #4096	; 0x1000
4070156c:	ee010f10 	mcr	15, 0, r0, cr1, cr0, {0}
40701570:	e1a00e2f 	lsr	r0, pc, #28
40701574:	e3500004 	cmp	r0, #4
40701578:	3a000002 	bcc	40701588 <ddr_init>

4070157c <no_ddr_init>:
4070157c:	e24f0084 	sub	r0, pc, #132	; 0x84
40701580:	e2400c15 	sub	r0, r0, #5376	; 0x1500
40701584:	ea000017 	b	407015e8 <copy_to_ddr>

40701588 <ddr_init>:
40701588:	e51f0150 	ldr	r0, [pc, #-336]	; 40701440 <_blank_zone_start>
4070158c:	e51f1144 	ldr	r1, [pc, #-324]	; 40701450 <_TEXT_BASE>
40701590:	e0400001 	sub	r0, r0, r1
40701594:	e24f109c 	sub	r1, pc, #156	; 0x9c
40701598:	e2411c15 	sub	r1, r1, #5376	; 0x1500
4070159c:	e0800001 	add	r0, r0, r1
407015a0:	e3a01000 	mov	r1, #0
407015a4:	eb000077 	bl	40701788 <init_registers>
407015a8:	e59fd134 	ldr	sp, [pc, #308]	; 407016e4 <cpu_init_cp15+0x60>
407015ac:	e59f0124 	ldr	r0, [pc, #292]	; 407016d8 <cpu_init_cp15+0x54>
407015b0:	eb000148 	bl	40701ad8 <start_ddr_training>

407015b4 <check_boot_mode>:
407015b4:	e59f011c 	ldr	r0, [pc, #284]	; 407016d8 <cpu_init_cp15+0x54>
407015b8:	e590008c 	ldr	r0, [r0, #140]	; 0x8c
407015bc:	e1a06220 	lsr	r6, r0, #4
407015c0:	e2066001 	and	r6, r6, #1
407015c4:	e3560001 	cmp	r6, #1
407015c8:	1a000005 	bne	407015e4 <copy_flash_to_ddr>

407015cc <emmc_boot>:
407015cc:	e51f0184 	ldr	r0, [pc, #-388]	; 40701450 <_TEXT_BASE>
407015d0:	e59f1118 	ldr	r1, [pc, #280]	; 407016f0 <cpu_init_cp15+0x6c>
407015d4:	e59f2118 	ldr	r2, [pc, #280]	; 407016f4 <cpu_init_cp15+0x70>
407015d8:	e0421001 	sub	r1, r2, r1
407015dc:	eb000aa5 	bl	40704078 <emmc_boot_read>
407015e0:	ea000007 	b	40701604 <relocate>

407015e4 <copy_flash_to_ddr>:
407015e4:	e3a00305 	mov	r0, #335544320	; 0x14000000

407015e8 <copy_to_ddr>:
407015e8:	e59f1100 	ldr	r1, [pc, #256]	; 407016f0 <cpu_init_cp15+0x6c>
407015ec:	e1500001 	cmp	r0, r1
407015f0:	0a000b67 	beq	40704394 <start_armboot>
407015f4:	e59f20f4 	ldr	r2, [pc, #244]	; 407016f0 <cpu_init_cp15+0x6c>
407015f8:	e59f30f4 	ldr	r3, [pc, #244]	; 407016f4 <cpu_init_cp15+0x70>
407015fc:	e0432002 	sub	r2, r3, r2
40701600:	eb00000a 	bl	40701630 <memcpy>

40701604 <relocate>:
40701604:	e59f00ec 	ldr	r0, [pc, #236]	; 407016f8 <cpu_init_cp15+0x74>
40701608:	e590f000 	ldr	pc, [r0]

4070160c <bug>:
4070160c:	e320f000 	nop	{0}
40701610:	e320f000 	nop	{0}
40701614:	e320f000 	nop	{0}
40701618:	e320f000 	nop	{0}
4070161c:	e320f000 	nop	{0}
40701620:	e320f000 	nop	{0}
40701624:	e320f000 	nop	{0}
40701628:	e320f000 	nop	{0}
4070162c:	eafffffe 	b	4070162c <bug+0x20>

40701630 <memcpy>:
40701630:	e0802002 	add	r2, r0, r2

40701634 <memcpy_loop>:
40701634:	e8b007f8 	ldm	r0!, {r3, r4, r5, r6, r7, r8, r9, sl}
40701638:	e8a107f8 	stmia	r1!, {r3, r4, r5, r6, r7, r8, r9, sl}
4070163c:	e1500002 	cmp	r0, r2
40701640:	dafffffb 	ble	40701634 <memcpy_loop>
40701644:	e1a0f00e 	mov	pc, lr

40701648 <msg_main_cpu_startup>:
40701648:	e1a0500e 	mov	r5, lr
4070164c:	e28f0004 	add	r0, pc, #4
40701650:	eb000a1b 	bl	40703ec4 <uart_early_puts>
40701654:	e1a0f005 	mov	pc, r5

40701658 <L10>:
40701658:	0a0d0a0d 	.word	0x0a0d0a0d
4070165c:	74737953 	.word	0x74737953
40701660:	73206d65 	.word	0x73206d65
40701664:	74726174 	.word	0x74726174
40701668:	0a0d7075 	.word	0x0a0d7075
4070166c:	00          	.byte	0x00
4070166d:	00          	.byte	0x00
	...

40701670 <c_runtime_cpu_setup>:
40701670:	ee070f15 	mcr	15, 0, r0, cr7, cr5, {0}
40701674:	ee070f9a 	mcr	15, 0, r0, cr7, cr10, {4}
40701678:	ee070f95 	mcr	15, 0, r0, cr7, cr5, {4}
4070167c:	e12fff1e 	bx	lr

40701680 <save_boot_params>:
40701680:	eaffff76 	b	40701460 <save_boot_params_ret>

40701684 <cpu_init_cp15>:
40701684:	e3a00000 	mov	r0, #0
40701688:	ee080f17 	mcr	15, 0, r0, cr8, cr7, {0}
4070168c:	ee070f15 	mcr	15, 0, r0, cr7, cr5, {0}
40701690:	ee070fd5 	mcr	15, 0, r0, cr7, cr5, {6}
40701694:	ee070f9a 	mcr	15, 0, r0, cr7, cr10, {4}
40701698:	ee070f95 	mcr	15, 0, r0, cr7, cr5, {4}
4070169c:	ee110f10 	mrc	15, 0, r0, cr1, cr0, {0}
407016a0:	e3c00a02 	bic	r0, r0, #8192	; 0x2000
407016a4:	e3c00007 	bic	r0, r0, #7
407016a8:	e3800002 	orr	r0, r0, #2
407016ac:	e3800b02 	orr	r0, r0, #2048	; 0x800
407016b0:	e3800a01 	orr	r0, r0, #4096	; 0x1000
407016b4:	ee010f10 	mcr	15, 0, r0, cr1, cr0, {0}
407016b8:	e1a0500e 	mov	r5, lr
407016bc:	ee101f10 	mrc	15, 0, r1, cr0, cr0, {0}
407016c0:	e1a03a21 	lsr	r3, r1, #20
407016c4:	e203300f 	and	r3, r3, #15
407016c8:	e201400f 	and	r4, r1, #15
407016cc:	e1a02203 	lsl	r2, r3, #4
407016d0:	e1842002 	orr	r2, r4, r2
407016d4:	e1a0f005 	mov	pc, r5
407016d8:	12020000 	.word	0x12020000
407016dc:	7a696a75 	.word	0x7a696a75
407016e0:	04010500 	.word	0x04010500
407016e4:	0401a000 	.word	0x0401a000
407016e8:	12050000 	.word	0x12050000
407016ec:	02faf080 	.word	0x02faf080
407016f0:	40700000 	.word	0x40700000
407016f4:	4073b410 	.word	0x4073b410
407016f8:	40701458 	.word	0x40701458

407016fc <reg_read>:
407016fc:	e590300c 	ldr	r3, [r0, #12]
40701700:	e5902000 	ldr	r2, [r0]
40701704:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
40701708:	e1a0eda3 	lsr	lr, r3, #27
4070170c:	e7e439d3 	ubfx	r3, r3, #19, #5
40701710:	e5922000 	ldr	r2, [r2]
40701714:	e2833001 	add	r3, r3, #1
40701718:	e3530020 	cmp	r3, #32
4070171c:	13e0c000 	mvnne	ip, #0
40701720:	11e0331c 	mvnne	r3, ip, lsl r3
40701724:	10032e32 	andne	r2, r3, r2, lsr lr
40701728:	e5903004 	ldr	r3, [r0, #4]
4070172c:	e0533002 	subs	r3, r3, r2
40701730:	13a03001 	movne	r3, #1
40701734:	e5813000 	str	r3, [r1]
40701738:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)

4070173c <reg_write>:
4070173c:	e92d4010 	push	{r4, lr}
40701740:	e590200c 	ldr	r2, [r0, #12]
40701744:	e5904000 	ldr	r4, [r0]
40701748:	e7e411d2 	ubfx	r1, r2, #3, #5
4070174c:	e5903004 	ldr	r3, [r0, #4]
40701750:	e2811001 	add	r1, r1, #1
40701754:	e590c008 	ldr	ip, [r0, #8]
40701758:	e3510020 	cmp	r1, #32
4070175c:	e594e000 	ldr	lr, [r4]
40701760:	17e425d2 	ubfxne	r2, r2, #11, #5
40701764:	13e00000 	mvnne	r0, #0
40701768:	11e01110 	mvnne	r1, r0, lsl r1
4070176c:	11ce1211 	bicne	r1, lr, r1, lsl r2
40701770:	11813213 	orrne	r3, r1, r3, lsl r2
40701774:	e5843000 	str	r3, [r4]
40701778:	e320f000 	nop	{0}
4070177c:	e25cc001 	subs	ip, ip, #1
40701780:	2afffffc 	bcs	40701778 <reg_write+0x3c>
40701784:	e8bd8010 	pop	{r4, pc}

40701788 <init_registers>:
40701788:	e92d40f7 	push	{r0, r1, r2, r4, r5, r6, r7, lr}
4070178c:	e1a06001 	mov	r6, r1
40701790:	e1a04000 	mov	r4, r0
40701794:	e3a07000 	mov	r7, #0
40701798:	e5943000 	ldr	r3, [r4]
4070179c:	e3530000 	cmp	r3, #0
407017a0:	1a000008 	bne	407017c8 <init_registers+0x40>
407017a4:	e5943004 	ldr	r3, [r4, #4]
407017a8:	e3530000 	cmp	r3, #0
407017ac:	1a000005 	bne	407017c8 <init_registers+0x40>
407017b0:	e5943008 	ldr	r3, [r4, #8]
407017b4:	e3530000 	cmp	r3, #0
407017b8:	1a000002 	bne	407017c8 <init_registers+0x40>
407017bc:	e594300c 	ldr	r3, [r4, #12]
407017c0:	e3530000 	cmp	r3, #0
407017c4:	0a00002e 	beq	40701884 <init_registers+0xfc>
407017c8:	e3560000 	cmp	r6, #0
407017cc:	e58d7004 	str	r7, [sp, #4]
407017d0:	e5945008 	ldr	r5, [r4, #8]
407017d4:	e594300c 	ldr	r3, [r4, #12]
407017d8:	0a000016 	beq	40701838 <init_registers+0xb0>
407017dc:	e3130002 	tst	r3, #2
407017e0:	0a000002 	beq	407017f0 <init_registers+0x68>
407017e4:	e1a00004 	mov	r0, r4
407017e8:	ebffffd3 	bl	4070173c <reg_write>
407017ec:	ea00000b 	b	40701820 <init_registers+0x98>
407017f0:	e3130802 	tst	r3, #131072	; 0x20000
407017f4:	0a00000b 	beq	40701828 <init_registers+0xa0>
407017f8:	e28d1004 	add	r1, sp, #4
407017fc:	e1a00004 	mov	r0, r4
40701800:	ebffffbd 	bl	407016fc <reg_read>
40701804:	e320f000 	nop	{0}
40701808:	e59d3004 	ldr	r3, [sp, #4]
4070180c:	e3530000 	cmp	r3, #0
40701810:	1afffff8 	bne	407017f8 <init_registers+0x70>
40701814:	e320f000 	nop	{0}
40701818:	e2555001 	subs	r5, r5, #1
4070181c:	2afffffc 	bcs	40701814 <init_registers+0x8c>
40701820:	e2844010 	add	r4, r4, #16
40701824:	eaffffdb 	b	40701798 <init_registers+0x10>
40701828:	e320f000 	nop	{0}
4070182c:	e2555001 	subs	r5, r5, #1
40701830:	2afffffc 	bcs	40701828 <init_registers+0xa0>
40701834:	eafffff9 	b	40701820 <init_registers+0x98>
40701838:	e3130004 	tst	r3, #4
4070183c:	1affffe8 	bne	407017e4 <init_registers+0x5c>
40701840:	e3130701 	tst	r3, #262144	; 0x40000
40701844:	0a00000a 	beq	40701874 <init_registers+0xec>
40701848:	e28d1004 	add	r1, sp, #4
4070184c:	e1a00004 	mov	r0, r4
40701850:	ebffffa9 	bl	407016fc <reg_read>
40701854:	e320f000 	nop	{0}
40701858:	e59d3004 	ldr	r3, [sp, #4]
4070185c:	e3530000 	cmp	r3, #0
40701860:	1afffff8 	bne	40701848 <init_registers+0xc0>
40701864:	e320f000 	nop	{0}
40701868:	e2555001 	subs	r5, r5, #1
4070186c:	2afffffc 	bcs	40701864 <init_registers+0xdc>
40701870:	eaffffea 	b	40701820 <init_registers+0x98>
40701874:	e320f000 	nop	{0}
40701878:	e2555001 	subs	r5, r5, #1
4070187c:	2afffffc 	bcs	40701874 <init_registers+0xec>
40701880:	eaffffe6 	b	40701820 <init_registers+0x98>
40701884:	e320f000 	nop	{0}
40701888:	e28dd00c 	add	sp, sp, #12
4070188c:	e8bd80f0 	pop	{r4, r5, r6, r7, pc}

40701890 <trng_init>:
40701890:	e59f2018 	ldr	r2, [pc, #24]	; 407018b0 <trng_init+0x20>
40701894:	e59231a0 	ldr	r3, [r2, #416]	; 0x1a0
40701898:	e3833008 	orr	r3, r3, #8
4070189c:	e58231a0 	str	r3, [r2, #416]	; 0x1a0
407018a0:	e59f300c 	ldr	r3, [pc, #12]	; 407018b4 <trng_init+0x24>
407018a4:	e3a0200a 	mov	r2, #10
407018a8:	e5832200 	str	r2, [r3, #512]	; 0x200
407018ac:	e12fff1e 	bx	lr
407018b0:	12010000 	.word	0x12010000
407018b4:	10090000 	.word	0x10090000

407018b8 <trng_deinit>:
407018b8:	e59f200c 	ldr	r2, [pc, #12]	; 407018cc <trng_deinit+0x14>
407018bc:	e59231a0 	ldr	r3, [r2, #416]	; 0x1a0
407018c0:	e3c33008 	bic	r3, r3, #8
407018c4:	e58231a0 	str	r3, [r2, #416]	; 0x1a0
407018c8:	e12fff1e 	bx	lr
407018cc:	12010000 	.word	0x12010000

407018d0 <start_svb>:
407018d0:	e59f21d8 	ldr	r2, [pc, #472]	; 40701ab0 <start_svb+0x1e0>
407018d4:	e92d40f0 	push	{r4, r5, r6, r7, lr}
407018d8:	e24dd01c 	sub	sp, sp, #28
407018dc:	e59230ac 	ldr	r3, [r2, #172]	; 0xac
407018e0:	e3c338ff 	bic	r3, r3, #16711680	; 0xff0000
407018e4:	e3833801 	orr	r3, r3, #65536	; 0x10000
407018e8:	e58230ac 	str	r3, [r2, #172]	; 0xac
407018ec:	e59f31c0 	ldr	r3, [pc, #448]	; 40701ab4 <start_svb+0x1e4>
407018f0:	e593102c 	ldr	r1, [r3, #44]	; 0x2c
407018f4:	e593302c 	ldr	r3, [r3, #44]	; 0x2c
407018f8:	e0811823 	add	r1, r1, r3, lsr #16
407018fc:	e6bf1071 	sxth	r1, r1
40701900:	e3510000 	cmp	r1, #0
40701904:	12812005 	addne	r2, r1, #5
40701908:	13a01001 	movne	r1, #1
4070190c:	1a000030 	bne	407019d4 <start_svb+0x104>
40701910:	e59f31a0 	ldr	r3, [pc, #416]	; 40701ab8 <start_svb+0x1e8>
40701914:	e3a02002 	mov	r2, #2
40701918:	e58321c0 	str	r2, [r3, #448]	; 0x1c0
4070191c:	e2833802 	add	r3, r3, #131072	; 0x20000
40701920:	e59f2194 	ldr	r2, [pc, #404]	; 40701abc <start_svb+0x1ec>
40701924:	e58320d0 	str	r2, [r3, #208]	; 0xd0
40701928:	e30c234f 	movw	r2, #49999	; 0xc34f
4070192c:	e58d1000 	str	r1, [sp]
40701930:	e59d3000 	ldr	r3, [sp]
40701934:	e1530002 	cmp	r3, r2
40701938:	9a00004f 	bls	40701a7c <start_svb+0x1ac>
4070193c:	e59f517c 	ldr	r5, [pc, #380]	; 40701ac0 <start_svb+0x1f0>
40701940:	e3a03000 	mov	r3, #0
40701944:	e3a04004 	mov	r4, #4
40701948:	e1a0c003 	mov	ip, r3
4070194c:	e302670f 	movw	r6, #9999	; 0x270f
40701950:	e58d3008 	str	r3, [sp, #8]
40701954:	e58d300c 	str	r3, [sp, #12]
40701958:	e58d3010 	str	r3, [sp, #16]
4070195c:	e58d3014 	str	r3, [sp, #20]
40701960:	e58dc004 	str	ip, [sp, #4]
40701964:	e59d3004 	ldr	r3, [sp, #4]
40701968:	e1530006 	cmp	r3, r6
4070196c:	9a000047 	bls	40701a90 <start_svb+0x1c0>
40701970:	e59520d8 	ldr	r2, [r5, #216]	; 0xd8
40701974:	e2544001 	subs	r4, r4, #1
40701978:	e59d300c 	ldr	r3, [sp, #12]
4070197c:	e7e90852 	ubfx	r0, r2, #16, #10
40701980:	e7e92052 	ubfx	r2, r2, #0, #10
40701984:	e0803003 	add	r3, r0, r3
40701988:	e59d0008 	ldr	r0, [sp, #8]
4070198c:	e58d300c 	str	r3, [sp, #12]
40701990:	e0822000 	add	r2, r2, r0
40701994:	e58d2008 	str	r2, [sp, #8]
40701998:	e59500dc 	ldr	r0, [r5, #220]	; 0xdc
4070199c:	e59de014 	ldr	lr, [sp, #20]
407019a0:	e7e97850 	ubfx	r7, r0, #16, #10
407019a4:	e7e90050 	ubfx	r0, r0, #0, #10
407019a8:	e087e00e 	add	lr, r7, lr
407019ac:	e59d7010 	ldr	r7, [sp, #16]
407019b0:	e58de014 	str	lr, [sp, #20]
407019b4:	e0800007 	add	r0, r0, r7
407019b8:	e58d0010 	str	r0, [sp, #16]
407019bc:	1affffe7 	bne	40701960 <start_svb+0x90>
407019c0:	e1a03123 	lsr	r3, r3, #2
407019c4:	e0832122 	add	r2, r3, r2, lsr #2
407019c8:	e0822120 	add	r2, r2, r0, lsr #2
407019cc:	e082212e 	add	r2, r2, lr, lsr #2
407019d0:	e1a02122 	lsr	r2, r2, #2
407019d4:	e3520095 	cmp	r2, #149	; 0x95
407019d8:	e3a03000 	mov	r3, #0
407019dc:	e7d8381f 	bfc	r3, #16, #9
407019e0:	e7d93c9f 	bfc	r3, #25, #1
407019e4:	93a02096 	movls	r2, #150	; 0x96
407019e8:	93833301 	orrls	r3, r3, #67108864	; 0x4000000
407019ec:	9a000004 	bls	40701a04 <start_svb+0x134>
407019f0:	e300015e 	movw	r0, #350	; 0x15e
407019f4:	e1520000 	cmp	r2, r0
407019f8:	97da3d1f 	bfcls	r3, #26, #1
407019fc:	83833301 	orrhi	r3, r3, #67108864	; 0x4000000
40701a00:	81a02000 	movhi	r2, r0
40701a04:	e7d83812 	bfi	r3, r2, #16, #9
40701a08:	e7d93c91 	bfi	r3, r1, #25, #1
40701a0c:	e59f109c 	ldr	r1, [pc, #156]	; 40701ab0 <start_svb+0x1e0>
40701a10:	e5813098 	str	r3, [r1, #152]	; 0x98
40701a14:	e30035dc 	movw	r3, #1500	; 0x5dc
40701a18:	e59f10a4 	ldr	r1, [pc, #164]	; 40701ac4 <start_svb+0x1f4>
40701a1c:	e0621293 	mls	r2, r3, r2, r1
40701a20:	e59f30a0 	ldr	r3, [pc, #160]	; 40701ac8 <start_svb+0x1f8>
40701a24:	e1520003 	cmp	r2, r3
40701a28:	959f209c 	ldrls	r2, [pc, #156]	; 40701acc <start_svb+0x1fc>
40701a2c:	9a000005 	bls	40701a48 <start_svb+0x178>
40701a30:	e59f0098 	ldr	r0, [pc, #152]	; 40701ad0 <start_svb+0x200>
40701a34:	e3a03000 	mov	r3, #0
40701a38:	e3a01000 	mov	r1, #0
40701a3c:	e1530001 	cmp	r3, r1
40701a40:	01520000 	cmpeq	r2, r0
40701a44:	81a02000 	movhi	r2, r0
40701a48:	e1a00282 	lsl	r0, r2, #5
40701a4c:	e59f306c 	ldr	r3, [pc, #108]	; 40701ac0 <start_svb+0x1f0>
40701a50:	e0522000 	subs	r2, r2, r0
40701a54:	e28f104c 	add	r1, pc, #76	; 0x4c
40701a58:	e1c100d0 	ldrd	r0, [r1]
40701a5c:	e0922000 	adds	r2, r2, r0
40701a60:	e59f006c 	ldr	r0, [pc, #108]	; 40701ad4 <start_svb+0x204>
40701a64:	e0022000 	and	r2, r2, r0
40701a68:	e3000c75 	movw	r0, #3189	; 0xc75
40701a6c:	e0922000 	adds	r2, r2, r0
40701a70:	e58320b0 	str	r2, [r3, #176]	; 0xb0
40701a74:	e28dd01c 	add	sp, sp, #28
40701a78:	e8bd80f0 	pop	{r4, r5, r6, r7, pc}
40701a7c:	e320f000 	nop	{0}
40701a80:	e59d3000 	ldr	r3, [sp]
40701a84:	e2833001 	add	r3, r3, #1
40701a88:	e58d3000 	str	r3, [sp]
40701a8c:	eaffffa7 	b	40701930 <start_svb+0x60>
40701a90:	e320f000 	nop	{0}
40701a94:	e59d3004 	ldr	r3, [sp, #4]
40701a98:	e2833001 	add	r3, r3, #1
40701a9c:	e58d3004 	str	r3, [sp, #4]
40701aa0:	eaffffaf 	b	40701964 <start_svb+0x94>
40701aa4:	e320f000 	nop	{0}
40701aa8:	01f0ac70 	.word	0x01f0ac70
40701aac:	00000000 	.word	0x00000000
40701ab0:	12020000 	.word	0x12020000
40701ab4:	100a0000 	.word	0x100a0000
40701ab8:	12010000 	.word	0x12010000
40701abc:	60000211 	.word	0x60000211
40701ac0:	12030000 	.word	0x12030000
40701ac4:	00144060 	.word	0x00144060
40701ac8:	000d6d7f 	.word	0x000d6d7f
40701acc:	000d6d80 	.word	0x000d6d80
40701ad0:	000fb770 	.word	0x000fb770
40701ad4:	ffff0000 	.word	0xffff0000

40701ad8 <start_ddr_training>:
40701ad8:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40701adc:	e59f506c 	ldr	r5, [pc, #108]	; 40701b50 <start_ddr_training+0x78>
40701ae0:	e59f406c 	ldr	r4, [pc, #108]	; 40701b54 <start_ddr_training+0x7c>
40701ae4:	e5957010 	ldr	r7, [r5, #16]
40701ae8:	e5946198 	ldr	r6, [r4, #408]	; 0x198
40701aec:	e3c73020 	bic	r3, r7, #32
40701af0:	e5853010 	str	r3, [r5, #16]
40701af4:	e3863002 	orr	r3, r6, #2
40701af8:	e5843198 	str	r3, [r4, #408]	; 0x198
40701afc:	e320f000 	nop	{0}
40701b00:	e5943198 	ldr	r3, [r4, #408]	; 0x198
40701b04:	e3a00000 	mov	r0, #0
40701b08:	e3c33001 	bic	r3, r3, #1
40701b0c:	e5843198 	str	r3, [r4, #408]	; 0x198
40701b10:	eb00089f 	bl	40703d94 <ddr_pcode_training_if>
40701b14:	e3a00000 	mov	r0, #0
40701b18:	eb00089c 	bl	40703d90 <ddr_hw_training_if>
40701b1c:	e3a00000 	mov	r0, #0
40701b20:	eb000899 	bl	40703d8c <ddr_sw_training_if>
40701b24:	e59f302c 	ldr	r3, [pc, #44]	; 40701b58 <start_ddr_training+0x80>
40701b28:	e5857010 	str	r7, [r5, #16]
40701b2c:	e3002401 	movw	r2, #1025	; 0x401
40701b30:	e5846198 	str	r6, [r4, #408]	; 0x198
40701b34:	e593302c 	ldr	r3, [r3, #44]	; 0x2c
40701b38:	e203300f 	and	r3, r3, #15
40701b3c:	e3530006 	cmp	r3, #6
40701b40:	e59f3014 	ldr	r3, [pc, #20]	; 40701b5c <start_ddr_training+0x84>
40701b44:	e5832028 	str	r2, [r3, #40]	; 0x28
40701b48:	05832028 	streq	r2, [r3, #40]	; 0x28
40701b4c:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40701b50:	12028000 	.word	0x12028000
40701b54:	12010000 	.word	0x12010000
40701b58:	120dc000 	.word	0x120dc000
40701b5c:	120d8000 	.word	0x120d8000

40701b60 <ddr_adjust_get_average>:
40701b60:	e5902060 	ldr	r2, [r0, #96]	; 0x60
40701b64:	e5901040 	ldr	r1, [r0, #64]	; 0x40
40701b68:	e5903054 	ldr	r3, [r0, #84]	; 0x54
40701b6c:	e5900050 	ldr	r0, [r0, #80]	; 0x50
40701b70:	e1a02502 	lsl	r2, r2, #10
40701b74:	e3500002 	cmp	r0, #2
40701b78:	1a000004 	bne	40701b90 <ddr_adjust_get_average+0x30>
40701b7c:	e2811f86 	add	r1, r1, #536	; 0x218
40701b80:	e0822001 	add	r2, r2, r1
40701b84:	e7920383 	ldr	r0, [r2, r3, lsl #7]
40701b88:	e200007f 	and	r0, r0, #127	; 0x7f
40701b8c:	e12fff1e 	bx	lr
40701b90:	e0823383 	add	r3, r2, r3, lsl #7
40701b94:	e0833001 	add	r3, r3, r1
40701b98:	e593221c 	ldr	r2, [r3, #540]	; 0x21c
40701b9c:	e5933220 	ldr	r3, [r3, #544]	; 0x220
40701ba0:	e202007f 	and	r0, r2, #127	; 0x7f
40701ba4:	e203107f 	and	r1, r3, #127	; 0x7f
40701ba8:	e0800001 	add	r0, r0, r1
40701bac:	e7e61452 	ubfx	r1, r2, #8, #7
40701bb0:	e0800001 	add	r0, r0, r1
40701bb4:	e7e61852 	ubfx	r1, r2, #16, #7
40701bb8:	e0800001 	add	r0, r0, r1
40701bbc:	e7e62c52 	ubfx	r2, r2, #24, #7
40701bc0:	e0800002 	add	r0, r0, r2
40701bc4:	e7e62453 	ubfx	r2, r3, #8, #7
40701bc8:	e0800002 	add	r0, r0, r2
40701bcc:	e7e62853 	ubfx	r2, r3, #16, #7
40701bd0:	e0800002 	add	r0, r0, r2
40701bd4:	e7e63c53 	ubfx	r3, r3, #24, #7
40701bd8:	e0800003 	add	r0, r0, r3
40701bdc:	e1a001a0 	lsr	r0, r0, #3
40701be0:	e12fff1e 	bx	lr

40701be4 <ddrtr_memcpy>:
40701be4:	e2403001 	sub	r3, r0, #1
40701be8:	e0812002 	add	r2, r1, r2
40701bec:	e1510002 	cmp	r1, r2
40701bf0:	1a000000 	bne	40701bf8 <ddrtr_memcpy+0x14>
40701bf4:	e12fff1e 	bx	lr
40701bf8:	e4d1c001 	ldrb	ip, [r1], #1
40701bfc:	e5e3c001 	strb	ip, [r3, #1]!
40701c00:	eafffff9 	b	40701bec <ddrtr_memcpy+0x8>

40701c04 <ddrtr_memset>:
40701c04:	e0802002 	add	r2, r0, r2
40701c08:	e1a03000 	mov	r3, r0
40701c0c:	e1530002 	cmp	r3, r2
40701c10:	1a000000 	bne	40701c18 <ddrtr_memset+0x14>
40701c14:	e12fff1e 	bx	lr
40701c18:	e4c31001 	strb	r1, [r3], #1
40701c1c:	eafffffa 	b	40701c0c <ddrtr_memset+0x8>

40701c20 <ddr_training_by_dmc>:
40701c20:	e5903070 	ldr	r3, [r0, #112]	; 0x70
40701c24:	e3530000 	cmp	r3, #0
40701c28:	1a000000 	bne	40701c30 <ddr_training_by_dmc+0x10>
40701c2c:	ea0007f0 	b	40703bf4 <ddr_training_boot_func>
40701c30:	e3a00000 	mov	r0, #0
40701c34:	e12fff1e 	bx	lr

40701c38 <ddr_training_by_rank>:
40701c38:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40701c3c:	e3a05000 	mov	r5, #0
40701c40:	e5902040 	ldr	r2, [r0, #64]	; 0x40
40701c44:	e1a04000 	mov	r4, r0
40701c48:	e5901060 	ldr	r1, [r0, #96]	; 0x60
40701c4c:	e1a06005 	mov	r6, r5
40701c50:	e3a0703c 	mov	r7, #60	; 0x3c
40701c54:	e3a0800c 	mov	r8, #12
40701c58:	e5923048 	ldr	r3, [r2, #72]	; 0x48
40701c5c:	e3c3300f 	bic	r3, r3, #15
40701c60:	e1833001 	orr	r3, r3, r1
40701c64:	e5823048 	str	r3, [r2, #72]	; 0x48
40701c68:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40701c6c:	e0030397 	mul	r3, r7, r3
40701c70:	e0842003 	add	r2, r4, r3
40701c74:	e5922008 	ldr	r2, [r2, #8]
40701c78:	e1520005 	cmp	r2, r5
40701c7c:	8a000001 	bhi	40701c88 <ddr_training_by_rank+0x50>
40701c80:	e1a00006 	mov	r0, r6
40701c84:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40701c88:	e0233598 	mla	r3, r8, r5, r3
40701c8c:	e5845064 	str	r5, [r4, #100]	; 0x64
40701c90:	e1a00004 	mov	r0, r4
40701c94:	e2855001 	add	r5, r5, #1
40701c98:	e0843003 	add	r3, r4, r3
40701c9c:	e5932014 	ldr	r2, [r3, #20]
40701ca0:	e5842044 	str	r2, [r4, #68]	; 0x44
40701ca4:	e593301c 	ldr	r3, [r3, #28]
40701ca8:	e584304c 	str	r3, [r4, #76]	; 0x4c
40701cac:	ebffffdb 	bl	40701c20 <ddr_training_by_dmc>
40701cb0:	e0866000 	add	r6, r6, r0
40701cb4:	eaffffeb 	b	40701c68 <ddr_training_by_rank+0x30>

40701cb8 <ddr_training_by_phy>:
40701cb8:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
40701cbc:	e3a07001 	mov	r7, #1
40701cc0:	e590305c 	ldr	r3, [r0, #92]	; 0x5c
40701cc4:	e3a0603c 	mov	r6, #60	; 0x3c
40701cc8:	e3a05000 	mov	r5, #0
40701ccc:	e1a04000 	mov	r4, r0
40701cd0:	e1a07317 	lsl	r7, r7, r3
40701cd4:	e1a08005 	mov	r8, r5
40701cd8:	e0230396 	mla	r3, r6, r3, r0
40701cdc:	e593a00c 	ldr	sl, [r3, #12]
40701ce0:	e155000a 	cmp	r5, sl
40701ce4:	1a000001 	bne	40701cf0 <ddr_training_by_phy+0x38>
40701ce8:	e1a00008 	mov	r0, r8
40701cec:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40701cf0:	e594205c 	ldr	r2, [r4, #92]	; 0x5c
40701cf4:	e2853005 	add	r3, r5, #5
40701cf8:	e5845060 	str	r5, [r4, #96]	; 0x60
40701cfc:	e0020296 	mul	r2, r6, r2
40701d00:	e0823183 	add	r3, r2, r3, lsl #3
40701d04:	e0843003 	add	r3, r4, r3
40701d08:	e5933004 	ldr	r3, [r3, #4]
40701d0c:	e1170003 	tst	r7, r3
40701d10:	e5843048 	str	r3, [r4, #72]	; 0x48
40701d14:	0a000001 	beq	40701d20 <ddr_training_by_phy+0x68>
40701d18:	e2855001 	add	r5, r5, #1
40701d1c:	eaffffef 	b	40701ce0 <ddr_training_by_phy+0x28>
40701d20:	e1a00004 	mov	r0, r4
40701d24:	ebffffc3 	bl	40701c38 <ddr_training_by_rank>
40701d28:	e0888000 	add	r8, r8, r0
40701d2c:	eafffff9 	b	40701d18 <ddr_training_by_phy+0x60>

40701d30 <ddr_training_all>:
40701d30:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40701d34:	e3a04000 	mov	r4, #0
40701d38:	e1a05000 	mov	r5, r0
40701d3c:	e1a06004 	mov	r6, r4
40701d40:	e3a0703c 	mov	r7, #60	; 0x3c
40701d44:	e595303c 	ldr	r3, [r5, #60]	; 0x3c
40701d48:	e1530004 	cmp	r3, r4
40701d4c:	8a000001 	bhi	40701d58 <ddr_training_all+0x28>
40701d50:	e1a00006 	mov	r0, r6
40701d54:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40701d58:	e0030497 	mul	r3, r7, r4
40701d5c:	e585405c 	str	r4, [r5, #92]	; 0x5c
40701d60:	e1a00005 	mov	r0, r5
40701d64:	e2844001 	add	r4, r4, #1
40701d68:	e7953003 	ldr	r3, [r5, r3]
40701d6c:	e5853040 	str	r3, [r5, #64]	; 0x40
40701d70:	ebffffd0 	bl	40701cb8 <ddr_training_by_phy>
40701d74:	e0866000 	add	r6, r6, r0
40701d78:	eafffff1 	b	40701d44 <ddr_training_all+0x14>

40701d7c <ddr_training_cfg_set_rank>:
40701d7c:	e3a03001 	mov	r3, #1
40701d80:	e580300c 	str	r3, [r0, #12]
40701d84:	e59f3030 	ldr	r3, [pc, #48]	; 40701dbc <ddr_training_cfg_set_rank+0x40>
40701d88:	e59320a0 	ldr	r2, [r3, #160]	; 0xa0
40701d8c:	e580202c 	str	r2, [r0, #44]	; 0x2c
40701d90:	e5932090 	ldr	r2, [r3, #144]	; 0x90
40701d94:	e5802030 	str	r2, [r0, #48]	; 0x30
40701d98:	e59320a4 	ldr	r2, [r3, #164]	; 0xa4
40701d9c:	e5802034 	str	r2, [r0, #52]	; 0x34
40701da0:	e5932094 	ldr	r2, [r3, #148]	; 0x94
40701da4:	e5802038 	str	r2, [r0, #56]	; 0x38
40701da8:	e5933094 	ldr	r3, [r3, #148]	; 0x94
40701dac:	e3530000 	cmp	r3, #0
40701db0:	13a03002 	movne	r3, #2
40701db4:	1580300c 	strne	r3, [r0, #12]
40701db8:	e12fff1e 	bx	lr
40701dbc:	12020000 	.word	0x12020000

40701dc0 <ddr_training_cfg_set_phy>:
40701dc0:	e3a03001 	mov	r3, #1
40701dc4:	e580303c 	str	r3, [r0, #60]	; 0x3c
40701dc8:	e59f3010 	ldr	r3, [pc, #16]	; 40701de0 <ddr_training_cfg_set_phy+0x20>
40701dcc:	e5803000 	str	r3, [r0]
40701dd0:	e593302c 	ldr	r3, [r3, #44]	; 0x2c
40701dd4:	e203300f 	and	r3, r3, #15
40701dd8:	e5803004 	str	r3, [r0, #4]
40701ddc:	e12fff1e 	bx	lr
40701de0:	120dc000 	.word	0x120dc000

40701de4 <ddr_training_set_timing>:
40701de4:	e30033e9 	movw	r3, #1001	; 0x3e9
40701de8:	e2533001 	subs	r3, r3, #1
40701dec:	1a000004 	bne	40701e04 <ddr_training_set_timing+0x20>
40701df0:	e30033e9 	movw	r3, #1001	; 0x3e9
40701df4:	e5801108 	str	r1, [r0, #264]	; 0x108
40701df8:	e2533001 	subs	r3, r3, #1
40701dfc:	1a000002 	bne	40701e0c <ddr_training_set_timing+0x28>
40701e00:	e12fff1e 	bx	lr
40701e04:	e320f000 	nop	{0}
40701e08:	eafffff6 	b	40701de8 <ddr_training_set_timing+0x4>
40701e0c:	e320f000 	nop	{0}
40701e10:	eafffff8 	b	40701df8 <ddr_training_set_timing+0x14>

40701e14 <ddr_vref_set>:
40701e14:	e5903050 	ldr	r3, [r0, #80]	; 0x50
40701e18:	e3530001 	cmp	r3, #1
40701e1c:	1a000010 	bne	40701e64 <ddr_vref_set+0x50>
40701e20:	e5903060 	ldr	r3, [r0, #96]	; 0x60
40701e24:	e5902040 	ldr	r2, [r0, #64]	; 0x40
40701e28:	e590c054 	ldr	ip, [r0, #84]	; 0x54
40701e2c:	e2822f9d 	add	r2, r2, #628	; 0x274
40701e30:	e0822503 	add	r2, r2, r3, lsl #10
40701e34:	e792338c 	ldr	r3, [r2, ip, lsl #7]
40701e38:	e3c3301f 	bic	r3, r3, #31
40701e3c:	e1831001 	orr	r1, r3, r1
40701e40:	e782138c 	str	r1, [r2, ip, lsl #7]
40701e44:	e5902060 	ldr	r2, [r0, #96]	; 0x60
40701e48:	e5903040 	ldr	r3, [r0, #64]	; 0x40
40701e4c:	e2833f9d 	add	r3, r3, #628	; 0x274
40701e50:	e0833502 	add	r3, r3, r2, lsl #10
40701e54:	e5902054 	ldr	r2, [r0, #84]	; 0x54
40701e58:	e2822001 	add	r2, r2, #1
40701e5c:	e7831382 	str	r1, [r3, r2, lsl #7]
40701e60:	e12fff1e 	bx	lr
40701e64:	e1a02000 	mov	r2, r0
40701e68:	e92d4070 	push	{r4, r5, r6, lr}
40701e6c:	e1a04001 	mov	r4, r1
40701e70:	e5900044 	ldr	r0, [r0, #68]	; 0x44
40701e74:	e5905108 	ldr	r5, [r0, #264]	; 0x108
40701e78:	e3c51eff 	bic	r1, r5, #4080	; 0xff0
40701e7c:	e3c1100f 	bic	r1, r1, #15
40701e80:	ebffffd7 	bl	40701de4 <ddr_training_set_timing>
40701e84:	e5921040 	ldr	r1, [r2, #64]	; 0x40
40701e88:	e59130c0 	ldr	r3, [r1, #192]	; 0xc0
40701e8c:	e3833102 	orr	r3, r3, #-2147483648	; 0x80000000
40701e90:	e58130c0 	str	r3, [r1, #192]	; 0xc0
40701e94:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701e98:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701e9c:	e2803e27 	add	r3, r0, #624	; 0x270
40701ea0:	e59010c4 	ldr	r1, [r0, #196]	; 0xc4
40701ea4:	e793338c 	ldr	r3, [r3, ip, lsl #7]
40701ea8:	e381c102 	orr	ip, r1, #-2147483648	; 0x80000000
40701eac:	e580c0c4 	str	ip, [r0, #196]	; 0xc4
40701eb0:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701eb4:	e3c3303f 	bic	r3, r3, #63	; 0x3f
40701eb8:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701ebc:	e1833004 	orr	r3, r3, r4
40701ec0:	e2800e27 	add	r0, r0, #624	; 0x270
40701ec4:	e780338c 	str	r3, [r0, ip, lsl #7]
40701ec8:	e59f00f8 	ldr	r0, [pc, #248]	; 40701fc8 <ddr_vref_set+0x1b4>
40701ecc:	e5923040 	ldr	r3, [r2, #64]	; 0x40
40701ed0:	e5830004 	str	r0, [r3, #4]
40701ed4:	e5923040 	ldr	r3, [r2, #64]	; 0x40
40701ed8:	e283c004 	add	ip, r3, #4
40701edc:	e59c0000 	ldr	r0, [ip]
40701ee0:	e3100001 	tst	r0, #1
40701ee4:	1afffffc 	bne	40701edc <ddr_vref_set+0xc8>
40701ee8:	e3c11102 	bic	r1, r1, #-2147483648	; 0x80000000
40701eec:	e58310c4 	str	r1, [r3, #196]	; 0xc4
40701ef0:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701ef4:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701ef8:	e2803e27 	add	r3, r0, #624	; 0x270
40701efc:	e59010c4 	ldr	r1, [r0, #196]	; 0xc4
40701f00:	e793338c 	ldr	r3, [r3, ip, lsl #7]
40701f04:	e381c102 	orr	ip, r1, #-2147483648	; 0x80000000
40701f08:	e580c0c4 	str	ip, [r0, #196]	; 0xc4
40701f0c:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701f10:	e3c3303f 	bic	r3, r3, #63	; 0x3f
40701f14:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701f18:	e1833004 	orr	r3, r3, r4
40701f1c:	e2800e27 	add	r0, r0, #624	; 0x270
40701f20:	e780338c 	str	r3, [r0, ip, lsl #7]
40701f24:	e59f009c 	ldr	r0, [pc, #156]	; 40701fc8 <ddr_vref_set+0x1b4>
40701f28:	e5923040 	ldr	r3, [r2, #64]	; 0x40
40701f2c:	e5830004 	str	r0, [r3, #4]
40701f30:	e5923040 	ldr	r3, [r2, #64]	; 0x40
40701f34:	e283c004 	add	ip, r3, #4
40701f38:	e59c0000 	ldr	r0, [ip]
40701f3c:	e3100001 	tst	r0, #1
40701f40:	1afffffc 	bne	40701f38 <ddr_vref_set+0x124>
40701f44:	e3c11102 	bic	r1, r1, #-2147483648	; 0x80000000
40701f48:	e58310c4 	str	r1, [r3, #196]	; 0xc4
40701f4c:	e5921040 	ldr	r1, [r2, #64]	; 0x40
40701f50:	e59130c0 	ldr	r3, [r1, #192]	; 0xc0
40701f54:	e3c33102 	bic	r3, r3, #-2147483648	; 0x80000000
40701f58:	e58130c0 	str	r3, [r1, #192]	; 0xc0
40701f5c:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701f60:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701f64:	e2801e27 	add	r1, r0, #624	; 0x270
40701f68:	e59030c4 	ldr	r3, [r0, #196]	; 0xc4
40701f6c:	e791138c 	ldr	r1, [r1, ip, lsl #7]
40701f70:	e383c102 	orr	ip, r3, #-2147483648	; 0x80000000
40701f74:	e580c0c4 	str	ip, [r0, #196]	; 0xc4
40701f78:	e5920040 	ldr	r0, [r2, #64]	; 0x40
40701f7c:	e3c1103f 	bic	r1, r1, #63	; 0x3f
40701f80:	e592c054 	ldr	ip, [r2, #84]	; 0x54
40701f84:	e1814004 	orr	r4, r1, r4
40701f88:	e2800e27 	add	r0, r0, #624	; 0x270
40701f8c:	e780438c 	str	r4, [r0, ip, lsl #7]
40701f90:	e59f0030 	ldr	r0, [pc, #48]	; 40701fc8 <ddr_vref_set+0x1b4>
40701f94:	e5921040 	ldr	r1, [r2, #64]	; 0x40
40701f98:	e5810004 	str	r0, [r1, #4]
40701f9c:	e5921040 	ldr	r1, [r2, #64]	; 0x40
40701fa0:	e281c004 	add	ip, r1, #4
40701fa4:	e59c0000 	ldr	r0, [ip]
40701fa8:	e3100001 	tst	r0, #1
40701fac:	1afffffc 	bne	40701fa4 <ddr_vref_set+0x190>
40701fb0:	e3c33102 	bic	r3, r3, #-2147483648	; 0x80000000
40701fb4:	e58130c4 	str	r3, [r1, #196]	; 0xc4
40701fb8:	e1a01005 	mov	r1, r5
40701fbc:	e5920044 	ldr	r0, [r2, #68]	; 0x44
40701fc0:	e8bd4070 	pop	{r4, r5, r6, lr}
40701fc4:	eaffff86 	b	40701de4 <ddr_training_set_timing>
40701fc8:	00040001 	.word	0x00040001

40701fcc <ddr_training_stat>:
40701fcc:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40701fd0:	e1a06003 	mov	r6, r3
40701fd4:	e1a04000 	mov	r4, r0
40701fd8:	e1a05001 	mov	r5, r1
40701fdc:	e1a07002 	mov	r7, r2
40701fe0:	eb000770 	bl	40703da8 <ddr_training_error>
40701fe4:	e59f3040 	ldr	r3, [pc, #64]	; 4070202c <ddr_training_stat+0x60>
40701fe8:	e59330b0 	ldr	r3, [r3, #176]	; 0xb0
40701fec:	e3530000 	cmp	r3, #0
40701ff0:	18bd81f0 	popne	{r4, r5, r6, r7, r8, pc}
40701ff4:	e3550000 	cmp	r5, #0
40701ff8:	0a000004 	beq	40702010 <ddr_training_stat+0x44>
40701ffc:	e59f302c 	ldr	r3, [pc, #44]	; 40702030 <ddr_training_stat+0x64>
40702000:	e1550003 	cmp	r5, r3
40702004:	03a05a01 	moveq	r5, #4096	; 0x1000
40702008:	13a05a02 	movne	r5, #8192	; 0x2000
4070200c:	e1844005 	orr	r4, r4, r5
40702010:	e59f3014 	ldr	r3, [pc, #20]	; 4070202c <ddr_training_stat+0x60>
40702014:	e3770001 	cmn	r7, #1
40702018:	11844c07 	orrne	r4, r4, r7, lsl #24
4070201c:	e3760001 	cmn	r6, #1
40702020:	11844a06 	orrne	r4, r4, r6, lsl #20
40702024:	e58340b0 	str	r4, [r3, #176]	; 0xb0
40702028:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
4070202c:	12020000 	.word	0x12020000
40702030:	120dc000 	.word	0x120dc000

40702034 <ddr_hw_training_process>:
40702034:	e92d4df3 	push	{r0, r1, r4, r5, r6, r7, r8, sl, fp, lr}
40702038:	e2516000 	subs	r6, r1, #0
4070203c:	e5905040 	ldr	r5, [r0, #64]	; 0x40
40702040:	e2853004 	add	r3, r5, #4
40702044:	e58d3004 	str	r3, [sp, #4]
40702048:	e5952004 	ldr	r2, [r5, #4]
4070204c:	1a000002 	bne	4070205c <ddr_hw_training_process+0x28>
40702050:	e3a00000 	mov	r0, #0
40702054:	e28dd008 	add	sp, sp, #8
40702058:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
4070205c:	e3160a01 	tst	r6, #4096	; 0x1000
40702060:	e3863001 	orr	r3, r6, #1
40702064:	e1833002 	orr	r3, r3, r2
40702068:	e1a07000 	mov	r7, r0
4070206c:	e5853004 	str	r3, [r5, #4]
40702070:	1a00000d 	bne	407020ac <ddr_hw_training_process+0x78>
40702074:	e3a04000 	mov	r4, #0
40702078:	e59d3004 	ldr	r3, [sp, #4]
4070207c:	e2844001 	add	r4, r4, #1
40702080:	e5933000 	ldr	r3, [r3]
40702084:	e3130001 	tst	r3, #1
40702088:	0a00002d 	beq	40702144 <ddr_hw_training_process+0x110>
4070208c:	e3740001 	cmn	r4, #1
40702090:	1afffff8 	bne	40702078 <ddr_hw_training_process+0x44>
40702094:	e5953008 	ldr	r3, [r5, #8]
40702098:	e1a02006 	mov	r2, r6
4070209c:	e1a01005 	mov	r1, r5
407020a0:	e3a00010 	mov	r0, #16
407020a4:	ebffffc8 	bl	40701fcc <ddr_training_stat>
407020a8:	ea00000b 	b	407020dc <ddr_hw_training_process+0xa8>
407020ac:	e590305c 	ldr	r3, [r0, #92]	; 0x5c
407020b0:	e3a0203c 	mov	r2, #60	; 0x3c
407020b4:	e3a08000 	mov	r8, #0
407020b8:	e1a0a008 	mov	sl, r8
407020bc:	e0030392 	mul	r3, r2, r3
407020c0:	e080b003 	add	fp, r0, r3
407020c4:	e58d3000 	str	r3, [sp]
407020c8:	e59b3008 	ldr	r3, [fp, #8]
407020cc:	e1530008 	cmp	r3, r8
407020d0:	8a000003 	bhi	407020e4 <ddr_hw_training_process+0xb0>
407020d4:	e35a0000 	cmp	sl, #0
407020d8:	0affffe5 	beq	40702074 <ddr_hw_training_process+0x40>
407020dc:	e3e00000 	mvn	r0, #0
407020e0:	eaffffdb 	b	40702054 <ddr_hw_training_process+0x20>
407020e4:	e59d2000 	ldr	r2, [sp]
407020e8:	e3a0300c 	mov	r3, #12
407020ec:	e3a04000 	mov	r4, #0
407020f0:	e0232893 	mla	r3, r3, r8, r2
407020f4:	e0873003 	add	r3, r7, r3
407020f8:	e5932014 	ldr	r2, [r3, #20]
407020fc:	e3a03002 	mov	r3, #2
40702100:	e5823000 	str	r3, [r2]
40702104:	e5923294 	ldr	r3, [r2, #660]	; 0x294
40702108:	e2844001 	add	r4, r4, #1
4070210c:	e2133001 	ands	r3, r3, #1
40702110:	0a000007 	beq	40702134 <ddr_hw_training_process+0x100>
40702114:	e3740001 	cmn	r4, #1
40702118:	1afffff9 	bne	40702104 <ddr_hw_training_process+0xd0>
4070211c:	e1a03004 	mov	r3, r4
40702120:	e1a02004 	mov	r2, r4
40702124:	e1a01004 	mov	r1, r4
40702128:	e3a00010 	mov	r0, #16
4070212c:	ebffffa6 	bl	40701fcc <ddr_training_stat>
40702130:	ea000000 	b	40702138 <ddr_hw_training_process+0x104>
40702134:	e1a04003 	mov	r4, r3
40702138:	e08aa004 	add	sl, sl, r4
4070213c:	e2888001 	add	r8, r8, #1
40702140:	eaffffe0 	b	407020c8 <ddr_hw_training_process+0x94>
40702144:	e5953008 	ldr	r3, [r5, #8]
40702148:	e3530000 	cmp	r3, #0
4070214c:	0affffbf 	beq	40702050 <ddr_hw_training_process+0x1c>
40702150:	eaffffcf 	b	40702094 <ddr_hw_training_process+0x60>

40702154 <ddr_training_check_bypass>:
40702154:	e5903048 	ldr	r3, [r0, #72]	; 0x48
40702158:	e1110003 	tst	r1, r3
4070215c:	13a00001 	movne	r0, #1
40702160:	03a00000 	moveq	r0, #0
40702164:	e12fff1e 	bx	lr

40702168 <ddr_training_phy_disable>:
40702168:	e3a00000 	mov	r0, #0
4070216c:	e12fff1e 	bx	lr

40702170 <ddr_training_switch_axi>:
40702170:	e590105c 	ldr	r1, [r0, #92]	; 0x5c
40702174:	e3a0303c 	mov	r3, #60	; 0x3c
40702178:	e59fc054 	ldr	ip, [pc, #84]	; 407021d4 <ddr_training_switch_axi+0x64>
4070217c:	e0230193 	mla	r3, r3, r1, r0
40702180:	e59c2104 	ldr	r2, [ip, #260]	; 0x104
40702184:	e3c2200f 	bic	r2, r2, #15
40702188:	e3822004 	orr	r2, r2, #4
4070218c:	e5933004 	ldr	r3, [r3, #4]
40702190:	e3530006 	cmp	r3, #6
40702194:	05903064 	ldreq	r3, [r0, #100]	; 0x64
40702198:	00831081 	addeq	r1, r3, r1, lsl #1
4070219c:	e1822001 	orr	r2, r2, r1
407021a0:	e58c2104 	str	r2, [ip, #260]	; 0x104
407021a4:	e59c3114 	ldr	r3, [ip, #276]	; 0x114
407021a8:	e3c3300f 	bic	r3, r3, #15
407021ac:	e3833004 	orr	r3, r3, #4
407021b0:	e1833001 	orr	r3, r3, r1
407021b4:	e58c3114 	str	r3, [ip, #276]	; 0x114
407021b8:	e5903060 	ldr	r3, [r0, #96]	; 0x60
407021bc:	e3530001 	cmp	r3, #1
407021c0:	05902044 	ldreq	r2, [r0, #68]	; 0x44
407021c4:	05923060 	ldreq	r3, [r2, #96]	; 0x60
407021c8:	03c33007 	biceq	r3, r3, #7
407021cc:	05823060 	streq	r3, [r2, #96]	; 0x60
407021d0:	e12fff1e 	bx	lr
407021d4:	120d0000 	.word	0x120d0000

407021d8 <ddr_phy_cfg_update>:
407021d8:	e5903070 	ldr	r3, [r0, #112]	; 0x70
407021dc:	e3832702 	orr	r2, r3, #524288	; 0x80000
407021e0:	e3c33702 	bic	r3, r3, #524288	; 0x80000
407021e4:	e5802070 	str	r2, [r0, #112]	; 0x70
407021e8:	e5803070 	str	r3, [r0, #112]	; 0x70
407021ec:	e5903004 	ldr	r3, [r0, #4]
407021f0:	e3832902 	orr	r2, r3, #32768	; 0x8000
407021f4:	e3c33902 	bic	r3, r3, #32768	; 0x8000
407021f8:	e5802004 	str	r2, [r0, #4]
407021fc:	e5803004 	str	r3, [r0, #4]
40702200:	f57ff04f 	dsb	sy
40702204:	e12fff1e 	bx	lr

40702208 <ddr_training_save_reg>:
40702208:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
4070220c:	e1a04001 	mov	r4, r1
40702210:	e5906044 	ldr	r6, [r0, #68]	; 0x44
40702214:	e3017064 	movw	r7, #4196	; 0x1064
40702218:	e5905040 	ldr	r5, [r0, #64]	; 0x40
4070221c:	e3520c01 	cmp	r2, #256	; 0x100
40702220:	e5961108 	ldr	r1, [r6, #264]	; 0x108
40702224:	e5841000 	str	r1, [r4]
40702228:	e5963028 	ldr	r3, [r6, #40]	; 0x28
4070222c:	e5843004 	str	r3, [r4, #4]
40702230:	e5953070 	ldr	r3, [r5, #112]	; 0x70
40702234:	e5843010 	str	r3, [r4, #16]
40702238:	e7953007 	ldr	r3, [r5, r7]
4070223c:	e5843014 	str	r3, [r4, #20]
40702240:	e7953007 	ldr	r3, [r5, r7]
40702244:	e5843014 	str	r3, [r4, #20]
40702248:	0a000022 	beq	407022d8 <ddr_training_save_reg+0xd0>
4070224c:	8a00001d 	bhi	407022c8 <ddr_training_save_reg+0xc0>
40702250:	e3520010 	cmp	r2, #16
40702254:	1a000003 	bne	40702268 <ddr_training_save_reg+0x60>
40702258:	e3c11eff 	bic	r1, r1, #4080	; 0xff0
4070225c:	e1a00006 	mov	r0, r6
40702260:	e3c1100f 	bic	r1, r1, #15
40702264:	ebfffede 	bl	40701de4 <ddr_training_set_timing>
40702268:	e5943004 	ldr	r3, [r4, #4]
4070226c:	e1a00004 	mov	r0, r4
40702270:	e3c33001 	bic	r3, r3, #1
40702274:	e5863028 	str	r3, [r6, #40]	; 0x28
40702278:	e5943010 	ldr	r3, [r4, #16]
4070227c:	e3c33801 	bic	r3, r3, #65536	; 0x10000
40702280:	e5853070 	str	r3, [r5, #112]	; 0x70
40702284:	e5953084 	ldr	r3, [r5, #132]	; 0x84
40702288:	e5843018 	str	r3, [r4, #24]
4070228c:	e3c33407 	bic	r3, r3, #117440512	; 0x7000000
40702290:	e5853084 	str	r3, [r5, #132]	; 0x84
40702294:	e59f305c 	ldr	r3, [pc, #92]	; 407022f8 <ddr_training_save_reg+0xf0>
40702298:	e5931104 	ldr	r1, [r3, #260]	; 0x104
4070229c:	e584102c 	str	r1, [r4, #44]	; 0x2c
407022a0:	e1a01002 	mov	r1, r2
407022a4:	e5933114 	ldr	r3, [r3, #276]	; 0x114
407022a8:	e5843030 	str	r3, [r4, #48]	; 0x30
407022ac:	e5963060 	ldr	r3, [r6, #96]	; 0x60
407022b0:	e5843034 	str	r3, [r4, #52]	; 0x34
407022b4:	eb0006dd 	bl	40703e30 <ddr_training_save_reg_custom>
407022b8:	e1a00005 	mov	r0, r5
407022bc:	ebffffc5 	bl	407021d8 <ddr_phy_cfg_update>
407022c0:	f57ff04f 	dsb	sy
407022c4:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
407022c8:	e3520601 	cmp	r2, #1048576	; 0x100000
407022cc:	0a000005 	beq	407022e8 <ddr_training_save_reg+0xe0>
407022d0:	e3520502 	cmp	r2, #8388608	; 0x800000
407022d4:	eaffffde 	b	40702254 <ddr_training_save_reg+0x4c>
407022d8:	e3c11eff 	bic	r1, r1, #4080	; 0xff0
407022dc:	e1a00006 	mov	r0, r6
407022e0:	e3c1100f 	bic	r1, r1, #15
407022e4:	ebfffebe 	bl	40701de4 <ddr_training_set_timing>
407022e8:	e595302c 	ldr	r3, [r5, #44]	; 0x2c
407022ec:	e2133020 	ands	r3, r3, #32
407022f0:	07853007 	streq	r3, [r5, r7]
407022f4:	eaffffdb 	b	40702268 <ddr_training_save_reg+0x60>
407022f8:	120d0000 	.word	0x120d0000

407022fc <ddr_training_restore_reg>:
407022fc:	e92d4070 	push	{r4, r5, r6, lr}
40702300:	e1a02001 	mov	r2, r1
40702304:	e5905044 	ldr	r5, [r0, #68]	; 0x44
40702308:	e5904040 	ldr	r4, [r0, #64]	; 0x40
4070230c:	e5911000 	ldr	r1, [r1]
40702310:	e1a00005 	mov	r0, r5
40702314:	ebfffeb2 	bl	40701de4 <ddr_training_set_timing>
40702318:	e5923004 	ldr	r3, [r2, #4]
4070231c:	e1a00002 	mov	r0, r2
40702320:	e5853028 	str	r3, [r5, #40]	; 0x28
40702324:	e5923010 	ldr	r3, [r2, #16]
40702328:	e5843070 	str	r3, [r4, #112]	; 0x70
4070232c:	e594302c 	ldr	r3, [r4, #44]	; 0x2c
40702330:	e3130020 	tst	r3, #32
40702334:	05921014 	ldreq	r1, [r2, #20]
40702338:	03013064 	movweq	r3, #4196	; 0x1064
4070233c:	07841003 	streq	r1, [r4, r3]
40702340:	e5923018 	ldr	r3, [r2, #24]
40702344:	e5843084 	str	r3, [r4, #132]	; 0x84
40702348:	e59f3028 	ldr	r3, [pc, #40]	; 40702378 <ddr_training_restore_reg+0x7c>
4070234c:	e592102c 	ldr	r1, [r2, #44]	; 0x2c
40702350:	e5831104 	str	r1, [r3, #260]	; 0x104
40702354:	e5921030 	ldr	r1, [r2, #48]	; 0x30
40702358:	e5831114 	str	r1, [r3, #276]	; 0x114
4070235c:	e5923034 	ldr	r3, [r2, #52]	; 0x34
40702360:	e5853060 	str	r3, [r5, #96]	; 0x60
40702364:	eb0006b8 	bl	40703e4c <ddr_training_restore_reg_custom>
40702368:	e1a00004 	mov	r0, r4
4070236c:	ebffff99 	bl	407021d8 <ddr_phy_cfg_update>
40702370:	f57ff04f 	dsb	sy
40702374:	e8bd8070 	pop	{r4, r5, r6, pc}
40702378:	120d0000 	.word	0x120d0000

4070237c <ddr_phy_set_dq_bdl>:
4070237c:	e92d4010 	push	{r4, lr}
40702380:	e1a0e000 	mov	lr, r0
40702384:	e59ec054 	ldr	ip, [lr, #84]	; 0x54
40702388:	e59e3060 	ldr	r3, [lr, #96]	; 0x60
4070238c:	e59e2058 	ldr	r2, [lr, #88]	; 0x58
40702390:	e59ee050 	ldr	lr, [lr, #80]	; 0x50
40702394:	e1a0c38c 	lsl	ip, ip, #7
40702398:	e1a03503 	lsl	r3, r3, #10
4070239c:	e5900040 	ldr	r0, [r0, #64]	; 0x40
407023a0:	e35e0002 	cmp	lr, #2
407023a4:	e2024007 	and	r4, r2, #7
407023a8:	e083300c 	add	r3, r3, ip
407023ac:	1a00000c 	bne	407023e4 <ddr_phy_set_dq_bdl+0x68>
407023b0:	e3540003 	cmp	r4, #3
407023b4:	92833e21 	addls	r3, r3, #528	; 0x210
407023b8:	82833f85 	addhi	r3, r3, #532	; 0x214
407023bc:	e793c000 	ldr	ip, [r3, r0]
407023c0:	e1a02182 	lsl	r2, r2, #3
407023c4:	e2022018 	and	r2, r2, #24
407023c8:	e3a0e0ff 	mov	lr, #255	; 0xff
407023cc:	e201107f 	and	r1, r1, #127	; 0x7f
407023d0:	e1ccc21e 	bic	ip, ip, lr, lsl r2
407023d4:	e18c2211 	orr	r2, ip, r1, lsl r2
407023d8:	e7832000 	str	r2, [r3, r0]
407023dc:	e8bd4010 	pop	{r4, lr}
407023e0:	eaffff7c 	b	407021d8 <ddr_phy_cfg_update>
407023e4:	e3540003 	cmp	r4, #3
407023e8:	92833f87 	addls	r3, r3, #540	; 0x21c
407023ec:	82833e22 	addhi	r3, r3, #544	; 0x220
407023f0:	eafffff1 	b	407023bc <ddr_phy_set_dq_bdl+0x40>

407023f4 <ddr_phy_get_dq_bdl>:
407023f4:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
407023f8:	e5901054 	ldr	r1, [r0, #84]	; 0x54
407023fc:	e5903060 	ldr	r3, [r0, #96]	; 0x60
40702400:	e590e050 	ldr	lr, [r0, #80]	; 0x50
40702404:	e5902058 	ldr	r2, [r0, #88]	; 0x58
40702408:	e1a01381 	lsl	r1, r1, #7
4070240c:	e35e0002 	cmp	lr, #2
40702410:	e1a03503 	lsl	r3, r3, #10
40702414:	e202c007 	and	ip, r2, #7
40702418:	e0833001 	add	r3, r3, r1
4070241c:	1a000009 	bne	40702448 <ddr_phy_get_dq_bdl+0x54>
40702420:	e35c0003 	cmp	ip, #3
40702424:	92833e21 	addls	r3, r3, #528	; 0x210
40702428:	82833f85 	addhi	r3, r3, #532	; 0x214
4070242c:	e5901040 	ldr	r1, [r0, #64]	; 0x40
40702430:	e1a02182 	lsl	r2, r2, #3
40702434:	e2022018 	and	r2, r2, #24
40702438:	e7930001 	ldr	r0, [r3, r1]
4070243c:	e1a00230 	lsr	r0, r0, r2
40702440:	e200007f 	and	r0, r0, #127	; 0x7f
40702444:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)
40702448:	e35c0003 	cmp	ip, #3
4070244c:	92833f87 	addls	r3, r3, #540	; 0x21c
40702450:	82833e22 	addhi	r3, r3, #544	; 0x220
40702454:	eafffff4 	b	4070242c <ddr_phy_get_dq_bdl+0x38>

40702458 <ddr_rdqs_sync_rank_rdq>:
40702458:	e92d4070 	push	{r4, r5, r6, lr}
4070245c:	e1a04000 	mov	r4, r0
40702460:	e5902060 	ldr	r2, [r0, #96]	; 0x60
40702464:	e1a05001 	mov	r5, r1
40702468:	e5903040 	ldr	r3, [r0, #64]	; 0x40
4070246c:	e3a06000 	mov	r6, #0
40702470:	e5900054 	ldr	r0, [r0, #84]	; 0x54
40702474:	e2833f89 	add	r3, r3, #548	; 0x224
40702478:	e0833502 	add	r3, r3, r2, lsl #10
4070247c:	e7932380 	ldr	r2, [r3, r0, lsl #7]
40702480:	e202107f 	and	r1, r2, #127	; 0x7f
40702484:	e3c2207f 	bic	r2, r2, #127	; 0x7f
40702488:	e0851001 	add	r1, r5, r1
4070248c:	e6e71011 	usat	r1, #7, r1
40702490:	e1822001 	orr	r2, r2, r1
40702494:	e7832380 	str	r2, [r3, r0, lsl #7]
40702498:	e5846058 	str	r6, [r4, #88]	; 0x58
4070249c:	e1a00004 	mov	r0, r4
407024a0:	ebffffd3 	bl	407023f4 <ddr_phy_get_dq_bdl>
407024a4:	e2866001 	add	r6, r6, #1
407024a8:	e0851000 	add	r1, r5, r0
407024ac:	e1a00004 	mov	r0, r4
407024b0:	e6e71011 	usat	r1, #7, r1
407024b4:	ebffffb0 	bl	4070237c <ddr_phy_set_dq_bdl>
407024b8:	e3560008 	cmp	r6, #8
407024bc:	1afffff5 	bne	40702498 <ddr_rdqs_sync_rank_rdq+0x40>
407024c0:	e8bd8070 	pop	{r4, r5, r6, pc}

407024c4 <ddr_adjust_set_val>:
407024c4:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
407024c8:	e1a04000 	mov	r4, r0
407024cc:	e5903050 	ldr	r3, [r0, #80]	; 0x50
407024d0:	e1a07001 	mov	r7, r1
407024d4:	e5902054 	ldr	r2, [r0, #84]	; 0x54
407024d8:	e3530001 	cmp	r3, #1
407024dc:	e5908060 	ldr	r8, [r0, #96]	; 0x60
407024e0:	e5903040 	ldr	r3, [r0, #64]	; 0x40
407024e4:	1a00001c 	bne	4070255c <ddr_adjust_set_val+0x98>
407024e8:	e2833f8b 	add	r3, r3, #556	; 0x22c
407024ec:	e7935382 	ldr	r5, [r3, r2, lsl #7]
407024f0:	e7936382 	ldr	r6, [r3, r2, lsl #7]
407024f4:	e7e86056 	ubfx	r6, r6, #0, #9
407024f8:	e0416006 	sub	r6, r1, r6
407024fc:	e1a01006 	mov	r1, r6
40702500:	ebffffd4 	bl	40702458 <ddr_rdqs_sync_rank_rdq>
40702504:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40702508:	e3a0203c 	mov	r2, #60	; 0x3c
4070250c:	e0234392 	mla	r3, r2, r3, r4
40702510:	e593300c 	ldr	r3, [r3, #12]
40702514:	e3530001 	cmp	r3, #1
40702518:	0a000005 	beq	40702534 <ddr_adjust_set_val+0x70>
4070251c:	e2683001 	rsb	r3, r8, #1
40702520:	e1a01006 	mov	r1, r6
40702524:	e5843060 	str	r3, [r4, #96]	; 0x60
40702528:	e1a00004 	mov	r0, r4
4070252c:	ebffffc9 	bl	40702458 <ddr_rdqs_sync_rank_rdq>
40702530:	e5848060 	str	r8, [r4, #96]	; 0x60
40702534:	e5943040 	ldr	r3, [r4, #64]	; 0x40
40702538:	e3c51f7f 	bic	r1, r5, #508	; 0x1fc
4070253c:	e3c11003 	bic	r1, r1, #3
40702540:	e5942054 	ldr	r2, [r4, #84]	; 0x54
40702544:	e2833f8b 	add	r3, r3, #556	; 0x22c
40702548:	e1811007 	orr	r1, r1, r7
4070254c:	e7831382 	str	r1, [r3, r2, lsl #7]
40702550:	e5940040 	ldr	r0, [r4, #64]	; 0x40
40702554:	e8bd41f0 	pop	{r4, r5, r6, r7, r8, lr}
40702558:	eaffff1e 	b	407021d8 <ddr_phy_cfg_update>
4070255c:	e2833f8d 	add	r3, r3, #564	; 0x234
40702560:	e0833508 	add	r3, r3, r8, lsl #10
40702564:	e7931382 	ldr	r1, [r3, r2, lsl #7]
40702568:	e3c11c1f 	bic	r1, r1, #7936	; 0x1f00
4070256c:	e1811407 	orr	r1, r1, r7, lsl #8
40702570:	eafffff5 	b	4070254c <ddr_adjust_set_val+0x88>

40702574 <ddr_phy_get_byte_num>:
40702574:	e5900050 	ldr	r0, [r0, #80]	; 0x50
40702578:	e1a001a0 	lsr	r0, r0, #3
4070257c:	e2000006 	and	r0, r0, #6
40702580:	e3500004 	cmp	r0, #4
40702584:	23a00004 	movcs	r0, #4
40702588:	e12fff1e 	bx	lr

4070258c <ddr_training_cfg_set_dmc>:
4070258c:	e92d4010 	push	{r4, lr}
40702590:	e1a03000 	mov	r3, r0
40702594:	e5902004 	ldr	r2, [r0, #4]
40702598:	e59f1078 	ldr	r1, [pc, #120]	; 40702618 <ddr_training_cfg_set_dmc+0x8c>
4070259c:	e3520006 	cmp	r2, #6
407025a0:	e59f2074 	ldr	r2, [pc, #116]	; 4070261c <ddr_training_cfg_set_dmc+0x90>
407025a4:	1a000012 	bne	407025f4 <ddr_training_cfg_set_dmc+0x68>
407025a8:	e3a00002 	mov	r0, #2
407025ac:	e5830008 	str	r0, [r3, #8]
407025b0:	e59110a8 	ldr	r1, [r1, #168]	; 0xa8
407025b4:	e5832014 	str	r2, [r3, #20]
407025b8:	e6ff0071 	uxth	r0, r1
407025bc:	e583001c 	str	r0, [r3, #28]
407025c0:	e1a00002 	mov	r0, r2
407025c4:	ebffffea 	bl	40702574 <ddr_phy_get_byte_num>
407025c8:	e5830018 	str	r0, [r3, #24]
407025cc:	e1a01821 	lsr	r1, r1, #16
407025d0:	e5832020 	str	r2, [r3, #32]
407025d4:	e1a00002 	mov	r0, r2
407025d8:	e5831028 	str	r1, [r3, #40]	; 0x28
407025dc:	ebffffe4 	bl	40702574 <ddr_phy_get_byte_num>
407025e0:	e5932018 	ldr	r2, [r3, #24]
407025e4:	e5830024 	str	r0, [r3, #36]	; 0x24
407025e8:	e0820000 	add	r0, r2, r0
407025ec:	e5830010 	str	r0, [r3, #16]
407025f0:	e8bd8010 	pop	{r4, pc}
407025f4:	e3a00001 	mov	r0, #1
407025f8:	e5832014 	str	r2, [r3, #20]
407025fc:	e5830008 	str	r0, [r3, #8]
40702600:	e1a00002 	mov	r0, r2
40702604:	e59110a8 	ldr	r1, [r1, #168]	; 0xa8
40702608:	e583101c 	str	r1, [r3, #28]
4070260c:	ebffffd8 	bl	40702574 <ddr_phy_get_byte_num>
40702610:	e5830018 	str	r0, [r3, #24]
40702614:	eafffff4 	b	407025ec <ddr_training_cfg_set_dmc+0x60>
40702618:	12020000 	.word	0x12020000
4070261c:	120d8000 	.word	0x120d8000

40702620 <ddr_training_cfg_init>:
40702620:	e92d4010 	push	{r4, lr}
40702624:	e3a02078 	mov	r2, #120	; 0x78
40702628:	e1a04000 	mov	r4, r0
4070262c:	e3a01000 	mov	r1, #0
40702630:	ebfffd73 	bl	40701c04 <ddrtr_memset>
40702634:	e1a00004 	mov	r0, r4
40702638:	ebfffde0 	bl	40701dc0 <ddr_training_cfg_set_phy>
4070263c:	e1a00004 	mov	r0, r4
40702640:	ebffffd1 	bl	4070258c <ddr_training_cfg_set_dmc>
40702644:	e1a00004 	mov	r0, r4
40702648:	e8bd4010 	pop	{r4, lr}
4070264c:	eafffdca 	b	40701d7c <ddr_training_cfg_set_rank>

40702650 <ddr_ddrt_init>:
40702650:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40702654:	e1a05000 	mov	r5, r0
40702658:	e5906060 	ldr	r6, [r0, #96]	; 0x60
4070265c:	e1a07001 	mov	r7, r1
40702660:	e3560001 	cmp	r6, #1
40702664:	13a06000 	movne	r6, #0
40702668:	1a00000b 	bne	4070269c <ddr_ddrt_init+0x4c>
4070266c:	e5903044 	ldr	r3, [r0, #68]	; 0x44
40702670:	e5932050 	ldr	r2, [r3, #80]	; 0x50
40702674:	e5933060 	ldr	r3, [r3, #96]	; 0x60
40702678:	e7e12252 	ubfx	r2, r2, #4, #2
4070267c:	e2030007 	and	r0, r3, #7
40702680:	e2800015 	add	r0, r0, #21
40702684:	e0800002 	add	r0, r0, r2
40702688:	e7e12453 	ubfx	r2, r3, #8, #2
4070268c:	e0800002 	add	r0, r0, r2
40702690:	e7e23253 	ubfx	r3, r3, #4, #3
40702694:	e0800003 	add	r0, r0, r3
40702698:	e1a06016 	lsl	r6, r6, r0
4070269c:	e5953044 	ldr	r3, [r5, #68]	; 0x44
407026a0:	e3002152 	movw	r2, #338	; 0x152
407026a4:	e59f40a0 	ldr	r4, [pc, #160]	; 4070274c <ddr_ddrt_init+0xfc>
407026a8:	e5933050 	ldr	r3, [r3, #80]	; 0x50
407026ac:	e7e13253 	ubfx	r3, r3, #4, #2
407026b0:	e2433001 	sub	r3, r3, #1
407026b4:	e1823603 	orr	r3, r2, r3, lsl #12
407026b8:	e584300c 	str	r3, [r4, #12]
407026bc:	e3a03101 	mov	r3, #1073741824	; 0x40000000
407026c0:	e584301c 	str	r3, [r4, #28]
407026c4:	eb0005b5 	bl	40703da0 <ddr_ddrt_get_test_addr>
407026c8:	e59f3080 	ldr	r3, [pc, #128]	; 40702750 <ddr_ddrt_init+0x100>
407026cc:	e3570001 	cmp	r7, #1
407026d0:	e0800006 	add	r0, r0, r6
407026d4:	e5840020 	str	r0, [r4, #32]
407026d8:	e5843038 	str	r3, [r4, #56]	; 0x38
407026dc:	1a000008 	bne	40702704 <ddr_ddrt_init+0xb4>
407026e0:	e3a03043 	mov	r3, #67	; 0x43
407026e4:	e5843008 	str	r3, [r4, #8]
407026e8:	e3a03000 	mov	r3, #0
407026ec:	e5843010 	str	r3, [r4, #16]
407026f0:	e5843014 	str	r3, [r4, #20]
407026f4:	e5843018 	str	r3, [r4, #24]
407026f8:	e59f3054 	ldr	r3, [pc, #84]	; 40702754 <ddr_ddrt_init+0x104>
407026fc:	e5843030 	str	r3, [r4, #48]	; 0x30
40702700:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40702704:	e3a0304f 	mov	r3, #79	; 0x4f
40702708:	e5843008 	str	r3, [r4, #8]
4070270c:	e595105c 	ldr	r1, [r5, #92]	; 0x5c
40702710:	e3a0203c 	mov	r2, #60	; 0x3c
40702714:	e5953064 	ldr	r3, [r5, #100]	; 0x64
40702718:	e0020192 	mul	r2, r2, r1
4070271c:	e3a0100c 	mov	r1, #12
40702720:	e0232391 	mla	r3, r1, r3, r2
40702724:	e0855003 	add	r5, r5, r3
40702728:	e595301c 	ldr	r3, [r5, #28]
4070272c:	e5843030 	str	r3, [r4, #48]	; 0x30
40702730:	e3a0307f 	mov	r3, #127	; 0x7f
40702734:	e5843010 	str	r3, [r4, #16]
40702738:	e3e03000 	mvn	r3, #0
4070273c:	e5843014 	str	r3, [r4, #20]
40702740:	e3a03000 	mov	r3, #0
40702744:	e5843018 	str	r3, [r4, #24]
40702748:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
4070274c:	11330000 	.word	0x11330000
40702750:	6d6d6d6d 	.word	0x6d6d6d6d
40702754:	55aa55aa 	.word	0x55aa55aa

40702758 <ddr_ddrt_test>:
40702758:	e59f3104 	ldr	r3, [pc, #260]	; 40702864 <ddr_ddrt_test+0x10c>
4070275c:	e380c001 	orr	ip, r0, #1
40702760:	e92d4010 	push	{r4, lr}
40702764:	e583c000 	str	ip, [r3]
40702768:	e3a0c000 	mov	ip, #0
4070276c:	e583c004 	str	ip, [r3, #4]
40702770:	f57ff04f 	dsb	sy
40702774:	e59f40ec 	ldr	r4, [pc, #236]	; 40702868 <ddr_ddrt_test+0x110>
40702778:	e593e004 	ldr	lr, [r3, #4]
4070277c:	e28cc001 	add	ip, ip, #1
40702780:	e31e0001 	tst	lr, #1
40702784:	1a000008 	bne	407027ac <ddr_ddrt_test+0x54>
40702788:	e15c0004 	cmp	ip, r4
4070278c:	1afffff9 	bne	40702778 <ddr_ddrt_test+0x20>
40702790:	e3e03000 	mvn	r3, #0
40702794:	e3a01000 	mov	r1, #0
40702798:	e1a02003 	mov	r2, r3
4070279c:	e3a00008 	mov	r0, #8
407027a0:	ebfffe09 	bl	40701fcc <ddr_training_stat>
407027a4:	e3e02000 	mvn	r2, #0
407027a8:	ea000019 	b	40702814 <ddr_ddrt_test+0xbc>
407027ac:	e15c0004 	cmp	ip, r4
407027b0:	0afffff6 	beq	40702790 <ddr_ddrt_test+0x38>
407027b4:	e2000c03 	and	r0, r0, #768	; 0x300
407027b8:	e3500c02 	cmp	r0, #512	; 0x200
407027bc:	0a000026 	beq	4070285c <ddr_ddrt_test+0x104>
407027c0:	e21ee002 	ands	lr, lr, #2
407027c4:	1a000024 	bne	4070285c <ddr_ddrt_test+0x104>
407027c8:	e3720001 	cmn	r2, #1
407027cc:	0a000012 	beq	4070281c <ddr_ddrt_test+0xc4>
407027d0:	e5930080 	ldr	r0, [r3, #128]	; 0x80
407027d4:	e3a0c001 	mov	ip, #1
407027d8:	e0823181 	add	r3, r2, r1, lsl #3
407027dc:	e010331c 	ands	r3, r0, ip, lsl r3
407027e0:	1affffef 	bne	407027a4 <ddr_ddrt_test+0x4c>
407027e4:	e3520003 	cmp	r2, #3
407027e8:	c2423004 	subgt	r3, r2, #4
407027ec:	d1a03182 	lslle	r3, r2, #3
407027f0:	e1a02142 	asr	r2, r2, #2
407027f4:	e0821081 	add	r1, r2, r1, lsl #1
407027f8:	e59f206c 	ldr	r2, [pc, #108]	; 4070286c <ddr_ddrt_test+0x114>
407027fc:	c1a03183 	lslgt	r3, r3, #3
40702800:	e7922101 	ldr	r2, [r2, r1, lsl #2]
40702804:	e3a010ff 	mov	r1, #255	; 0xff
40702808:	e0123311 	ands	r3, r2, r1, lsl r3
4070280c:	13e02000 	mvnne	r2, #0
40702810:	03a02000 	moveq	r2, #0
40702814:	e1a00002 	mov	r0, r2
40702818:	e8bd8010 	pop	{r4, pc}
4070281c:	e3710001 	cmn	r1, #1
40702820:	01a0200e 	moveq	r2, lr
40702824:	0afffffa 	beq	40702814 <ddr_ddrt_test+0xbc>
40702828:	e5933080 	ldr	r3, [r3, #128]	; 0x80
4070282c:	e3a000ff 	mov	r0, #255	; 0xff
40702830:	e0133110 	ands	r3, r3, r0, lsl r1
40702834:	1afffff6 	bne	40702814 <ddr_ddrt_test+0xbc>
40702838:	e59f302c 	ldr	r3, [pc, #44]	; 4070286c <ddr_ddrt_test+0x114>
4070283c:	e7932181 	ldr	r2, [r3, r1, lsl #3]
40702840:	e1a01081 	lsl	r1, r1, #1
40702844:	e2811001 	add	r1, r1, #1
40702848:	e7933101 	ldr	r3, [r3, r1, lsl #2]
4070284c:	e1720003 	cmn	r2, r3
40702850:	13e02000 	mvnne	r2, #0
40702854:	03a02000 	moveq	r2, #0
40702858:	eaffffed 	b	40702814 <ddr_ddrt_test+0xbc>
4070285c:	e3a02000 	mov	r2, #0
40702860:	eaffffeb 	b	40702814 <ddr_ddrt_test+0xbc>
40702864:	11330000 	.word	0x11330000
40702868:	000f4240 	.word	0x000f4240
4070286c:	11330060 	.word	0x11330060

40702870 <ddr_dataeye_check_dq>:
40702870:	e590306c 	ldr	r3, [r0, #108]	; 0x6c
40702874:	e3530001 	cmp	r3, #1
40702878:	1a000018 	bne	407028e0 <ddr_dataeye_check_dq+0x70>
4070287c:	e92d4070 	push	{r4, r5, r6, lr}
40702880:	e1a04000 	mov	r4, r0
40702884:	e5903064 	ldr	r3, [r0, #100]	; 0x64
40702888:	e5905054 	ldr	r5, [r0, #84]	; 0x54
4070288c:	e3a00000 	mov	r0, #0
40702890:	e59f6058 	ldr	r6, [pc, #88]	; 407028f0 <ddr_dataeye_check_dq+0x80>
40702894:	e1a03083 	lsl	r3, r3, #1
40702898:	e1550003 	cmp	r5, r3
4070289c:	20455003 	subcs	r5, r5, r3
407028a0:	e5860030 	str	r0, [r6, #48]	; 0x30
407028a4:	e5942058 	ldr	r2, [r4, #88]	; 0x58
407028a8:	e1a01005 	mov	r1, r5
407028ac:	ebffffa9 	bl	40702758 <ddr_ddrt_test>
407028b0:	e3500000 	cmp	r0, #0
407028b4:	1a00000b 	bne	407028e8 <ddr_dataeye_check_dq+0x78>
407028b8:	e594304c 	ldr	r3, [r4, #76]	; 0x4c
407028bc:	e1a01005 	mov	r1, r5
407028c0:	e3a00a02 	mov	r0, #8192	; 0x2000
407028c4:	e5863030 	str	r3, [r6, #48]	; 0x30
407028c8:	e5942058 	ldr	r2, [r4, #88]	; 0x58
407028cc:	ebffffa1 	bl	40702758 <ddr_ddrt_test>
407028d0:	e2900000 	adds	r0, r0, #0
407028d4:	13a00001 	movne	r0, #1
407028d8:	e2600000 	rsb	r0, r0, #0
407028dc:	e8bd8070 	pop	{r4, r5, r6, pc}
407028e0:	e3a00000 	mov	r0, #0
407028e4:	e12fff1e 	bx	lr
407028e8:	e3e00000 	mvn	r0, #0
407028ec:	e8bd8070 	pop	{r4, r5, r6, pc}
407028f0:	11330000 	.word	0x11330000

407028f4 <ddr_dataeye_search_dq>:
407028f4:	e92d4df3 	push	{r0, r1, r4, r5, r6, r7, r8, sl, fp, lr}
407028f8:	e1a06000 	mov	r6, r0
407028fc:	e59d5028 	ldr	r5, [sp, #40]	; 0x28
40702900:	e1a0a001 	mov	sl, r1
40702904:	e1a0b002 	mov	fp, r2
40702908:	e1a08003 	mov	r8, r3
4070290c:	e04a4006 	sub	r4, sl, r6
40702910:	e1a00005 	mov	r0, r5
40702914:	e08640a4 	add	r4, r6, r4, lsr #1
40702918:	e1a01004 	mov	r1, r4
4070291c:	ebfffe96 	bl	4070237c <ddr_phy_set_dq_bdl>
40702920:	e1a00005 	mov	r0, r5
40702924:	ebffffd1 	bl	40702870 <ddr_dataeye_check_dq>
40702928:	e3580002 	cmp	r8, #2
4070292c:	0a000009 	beq	40702958 <ddr_dataeye_search_dq+0x64>
40702930:	e3580004 	cmp	r8, #4
40702934:	0a00000f 	beq	40702978 <ddr_dataeye_search_dq+0x84>
40702938:	e3580001 	cmp	r8, #1
4070293c:	03a07006 	moveq	r7, #6
40702940:	13a07000 	movne	r7, #0
40702944:	e3500000 	cmp	r0, #0
40702948:	1a00000f 	bne	4070298c <ddr_dataeye_search_dq+0x98>
4070294c:	e58b4000 	str	r4, [fp]
40702950:	e28dd008 	add	sp, sp, #8
40702954:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40702958:	e3500000 	cmp	r0, #0
4070295c:	1a000009 	bne	40702988 <ddr_dataeye_search_dq+0x94>
40702960:	e1a01006 	mov	r1, r6
40702964:	e1a00005 	mov	r0, r5
40702968:	ebfffe83 	bl	4070237c <ddr_phy_set_dq_bdl>
4070296c:	e1a00005 	mov	r0, r5
40702970:	ebffffbe 	bl	40702870 <ddr_dataeye_check_dq>
40702974:	eafffff4 	b	4070294c <ddr_dataeye_search_dq+0x58>
40702978:	e3500000 	cmp	r0, #0
4070297c:	1a000011 	bne	407029c8 <ddr_dataeye_search_dq+0xd4>
40702980:	e1a0100a 	mov	r1, sl
40702984:	eafffff6 	b	40702964 <ddr_dataeye_search_dq+0x70>
40702988:	e3a07004 	mov	r7, #4
4070298c:	e154000a 	cmp	r4, sl
40702990:	11560004 	cmpne	r6, r4
40702994:	0affffed 	beq	40702950 <ddr_dataeye_search_dq+0x5c>
40702998:	e3170002 	tst	r7, #2
4070299c:	0a000005 	beq	407029b8 <ddr_dataeye_search_dq+0xc4>
407029a0:	e58d5000 	str	r5, [sp]
407029a4:	e1a03008 	mov	r3, r8
407029a8:	e1a0200b 	mov	r2, fp
407029ac:	e1a01004 	mov	r1, r4
407029b0:	e1a00006 	mov	r0, r6
407029b4:	ebffffce 	bl	407028f4 <ddr_dataeye_search_dq>
407029b8:	e3170004 	tst	r7, #4
407029bc:	e1a06004 	mov	r6, r4
407029c0:	0affffe2 	beq	40702950 <ddr_dataeye_search_dq+0x5c>
407029c4:	eaffffd0 	b	4070290c <ddr_dataeye_search_dq+0x18>
407029c8:	e3a07002 	mov	r7, #2
407029cc:	eaffffee 	b	4070298c <ddr_dataeye_search_dq+0x98>

407029d0 <ddr_dataeye_deskew>:
407029d0:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
407029d4:	e3a05000 	mov	r5, #0
407029d8:	e5903054 	ldr	r3, [r0, #84]	; 0x54
407029dc:	e24dd028 	sub	sp, sp, #40	; 0x28
407029e0:	e1a04000 	mov	r4, r0
407029e4:	e1a06001 	mov	r6, r1
407029e8:	e1a08005 	mov	r8, r5
407029ec:	e1a0a005 	mov	sl, r5
407029f0:	e58d3008 	str	r3, [sp, #8]
407029f4:	e1a03183 	lsl	r3, r3, #3
407029f8:	e5815100 	str	r5, [r1, #256]	; 0x100
407029fc:	e58d300c 	str	r3, [sp, #12]
40702a00:	e59d300c 	ldr	r3, [sp, #12]
40702a04:	e1a00004 	mov	r0, r4
40702a08:	e5845058 	str	r5, [r4, #88]	; 0x58
40702a0c:	e0853003 	add	r3, r5, r3
40702a10:	e58d3010 	str	r3, [sp, #16]
40702a14:	ebfffe76 	bl	407023f4 <ddr_phy_get_dq_bdl>
40702a18:	e5943054 	ldr	r3, [r4, #84]	; 0x54
40702a1c:	e5947058 	ldr	r7, [r4, #88]	; 0x58
40702a20:	e0877183 	add	r7, r7, r3, lsl #3
40702a24:	e58d0014 	str	r0, [sp, #20]
40702a28:	e1a00004 	mov	r0, r4
40702a2c:	ebfffe70 	bl	407023f4 <ddr_phy_get_dq_bdl>
40702a30:	e58d001c 	str	r0, [sp, #28]
40702a34:	e1a0b000 	mov	fp, r0
40702a38:	e1a00004 	mov	r0, r4
40702a3c:	ebffff8b 	bl	40702870 <ddr_dataeye_check_dq>
40702a40:	e3500000 	cmp	r0, #0
40702a44:	0a000037 	beq	40702b28 <ddr_dataeye_deskew+0x158>
40702a48:	e28d2028 	add	r2, sp, #40	; 0x28
40702a4c:	e3e03000 	mvn	r3, #0
40702a50:	e3a0107f 	mov	r1, #127	; 0x7f
40702a54:	e3a00000 	mov	r0, #0
40702a58:	e522300c 	str	r3, [r2, #-12]!
40702a5c:	e3a03001 	mov	r3, #1
40702a60:	e58d4000 	str	r4, [sp]
40702a64:	ebffffa2 	bl	407028f4 <ddr_dataeye_search_dq>
40702a68:	e59d301c 	ldr	r3, [sp, #28]
40702a6c:	e3730001 	cmn	r3, #1
40702a70:	1a00002c 	bne	40702b28 <ddr_dataeye_deskew+0x158>
40702a74:	e0862107 	add	r2, r6, r7, lsl #2
40702a78:	e3a03000 	mov	r3, #0
40702a7c:	e1a0100b 	mov	r1, fp
40702a80:	e7863107 	str	r3, [r6, r7, lsl #2]
40702a84:	e1a00004 	mov	r0, r4
40702a88:	e5823080 	str	r3, [r2, #128]	; 0x80
40702a8c:	ebfffe3a 	bl	4070237c <ddr_phy_set_dq_bdl>
40702a90:	e59d3010 	ldr	r3, [sp, #16]
40702a94:	e2833020 	add	r3, r3, #32
40702a98:	e7967103 	ldr	r7, [r6, r3, lsl #2]
40702a9c:	e1a0b827 	lsr	fp, r7, #16
40702aa0:	e35b0007 	cmp	fp, #7
40702aa4:	8a000057 	bhi	40702c08 <ddr_dataeye_deskew+0x238>
40702aa8:	e35a0000 	cmp	sl, #0
40702aac:	02455001 	subeq	r5, r5, #1
40702ab0:	03a0a001 	moveq	sl, #1
40702ab4:	0a000009 	beq	40702ae0 <ddr_dataeye_deskew+0x110>
40702ab8:	e35b0000 	cmp	fp, #0
40702abc:	1a000051 	bne	40702c08 <ddr_dataeye_deskew+0x238>
40702ac0:	e59d1014 	ldr	r1, [sp, #20]
40702ac4:	e1a00004 	mov	r0, r4
40702ac8:	ebfffe2b 	bl	4070237c <ddr_phy_set_dq_bdl>
40702acc:	e1a03005 	mov	r3, r5
40702ad0:	e59d2008 	ldr	r2, [sp, #8]
40702ad4:	e3a00040 	mov	r0, #64	; 0x40
40702ad8:	e5941040 	ldr	r1, [r4, #64]	; 0x40
40702adc:	ebfffd3a 	bl	40701fcc <ddr_training_stat>
40702ae0:	e2855001 	add	r5, r5, #1
40702ae4:	e3550007 	cmp	r5, #7
40702ae8:	daffffc4 	ble	40702a00 <ddr_dataeye_deskew+0x30>
40702aec:	e5943050 	ldr	r3, [r4, #80]	; 0x50
40702af0:	e3530002 	cmp	r3, #2
40702af4:	1a000006 	bne	40702b14 <ddr_dataeye_deskew+0x144>
40702af8:	e5942060 	ldr	r2, [r4, #96]	; 0x60
40702afc:	e7e681d8 	ubfx	r8, r8, #3, #7
40702b00:	e5943040 	ldr	r3, [r4, #64]	; 0x40
40702b04:	e2833f86 	add	r3, r3, #536	; 0x218
40702b08:	e0833502 	add	r3, r3, r2, lsl #10
40702b0c:	e59d2008 	ldr	r2, [sp, #8]
40702b10:	e7838382 	str	r8, [r3, r2, lsl #7]
40702b14:	e5940040 	ldr	r0, [r4, #64]	; 0x40
40702b18:	ebfffdae 	bl	407021d8 <ddr_phy_cfg_update>
40702b1c:	e3a00000 	mov	r0, #0
40702b20:	e28dd028 	add	sp, sp, #40	; 0x28
40702b24:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40702b28:	e59d101c 	ldr	r1, [sp, #28]
40702b2c:	e3a03002 	mov	r3, #2
40702b30:	e58d4000 	str	r4, [sp]
40702b34:	e28d2020 	add	r2, sp, #32
40702b38:	e3a00000 	mov	r0, #0
40702b3c:	e58d1020 	str	r1, [sp, #32]
40702b40:	ebffff6b 	bl	407028f4 <ddr_dataeye_search_dq>
40702b44:	e59d1020 	ldr	r1, [sp, #32]
40702b48:	e3510000 	cmp	r1, #0
40702b4c:	da00000a 	ble	40702b7c <ddr_dataeye_deskew+0x1ac>
40702b50:	e2411001 	sub	r1, r1, #1
40702b54:	e1a00004 	mov	r0, r4
40702b58:	e58d1020 	str	r1, [sp, #32]
40702b5c:	ebfffe06 	bl	4070237c <ddr_phy_set_dq_bdl>
40702b60:	e1a00004 	mov	r0, r4
40702b64:	ebffff41 	bl	40702870 <ddr_dataeye_check_dq>
40702b68:	e3500000 	cmp	r0, #0
40702b6c:	0afffff4 	beq	40702b44 <ddr_dataeye_deskew+0x174>
40702b70:	e59d3020 	ldr	r3, [sp, #32]
40702b74:	e2833001 	add	r3, r3, #1
40702b78:	e58d3020 	str	r3, [sp, #32]
40702b7c:	e59d001c 	ldr	r0, [sp, #28]
40702b80:	e28d2028 	add	r2, sp, #40	; 0x28
40702b84:	e3a03004 	mov	r3, #4
40702b88:	e3a0107f 	mov	r1, #127	; 0x7f
40702b8c:	e5220004 	str	r0, [r2, #-4]!
40702b90:	e58d4000 	str	r4, [sp]
40702b94:	ebffff56 	bl	407028f4 <ddr_dataeye_search_dq>
40702b98:	e59d1024 	ldr	r1, [sp, #36]	; 0x24
40702b9c:	e351007e 	cmp	r1, #126	; 0x7e
40702ba0:	ca00000a 	bgt	40702bd0 <ddr_dataeye_deskew+0x200>
40702ba4:	e2811001 	add	r1, r1, #1
40702ba8:	e1a00004 	mov	r0, r4
40702bac:	e58d1024 	str	r1, [sp, #36]	; 0x24
40702bb0:	ebfffdf1 	bl	4070237c <ddr_phy_set_dq_bdl>
40702bb4:	e1a00004 	mov	r0, r4
40702bb8:	ebffff2c 	bl	40702870 <ddr_dataeye_check_dq>
40702bbc:	e3500000 	cmp	r0, #0
40702bc0:	0afffff4 	beq	40702b98 <ddr_dataeye_deskew+0x1c8>
40702bc4:	e59d3024 	ldr	r3, [sp, #36]	; 0x24
40702bc8:	e2433001 	sub	r3, r3, #1
40702bcc:	e58d3024 	str	r3, [sp, #36]	; 0x24
40702bd0:	e1a0100b 	mov	r1, fp
40702bd4:	e1a00004 	mov	r0, r4
40702bd8:	ebfffde7 	bl	4070237c <ddr_phy_set_dq_bdl>
40702bdc:	e59d3020 	ldr	r3, [sp, #32]
40702be0:	e59d1024 	ldr	r1, [sp, #36]	; 0x24
40702be4:	e0860107 	add	r0, r6, r7, lsl #2
40702be8:	e0412003 	sub	r2, r1, r3
40702bec:	e1811803 	orr	r1, r1, r3, lsl #16
40702bf0:	e2822001 	add	r2, r2, #1
40702bf4:	e7861107 	str	r1, [r6, r7, lsl #2]
40702bf8:	e08330a2 	add	r3, r3, r2, lsr #1
40702bfc:	e1833802 	orr	r3, r3, r2, lsl #16
40702c00:	e5803080 	str	r3, [r0, #128]	; 0x80
40702c04:	eaffffa1 	b	40702a90 <ddr_dataeye_deskew+0xc0>
40702c08:	e6ff7077 	uxth	r7, r7
40702c0c:	e1a00004 	mov	r0, r4
40702c10:	e0888007 	add	r8, r8, r7
40702c14:	e3a0a000 	mov	sl, #0
40702c18:	e1a01007 	mov	r1, r7
40702c1c:	ebfffdd6 	bl	4070237c <ddr_phy_set_dq_bdl>
40702c20:	e5963100 	ldr	r3, [r6, #256]	; 0x100
40702c24:	e083b00b 	add	fp, r3, fp
40702c28:	e586b100 	str	fp, [r6, #256]	; 0x100
40702c2c:	eaffffab 	b	40702ae0 <ddr_dataeye_deskew+0x110>

40702c30 <ddr_vref_get_win>:
40702c30:	e92d4070 	push	{r4, r5, r6, lr}
40702c34:	e3a03000 	mov	r3, #0
40702c38:	e5813100 	str	r3, [r1, #256]	; 0x100
40702c3c:	e1a05001 	mov	r5, r1
40702c40:	e5903050 	ldr	r3, [r0, #80]	; 0x50
40702c44:	e1a04000 	mov	r4, r0
40702c48:	e3530001 	cmp	r3, #1
40702c4c:	13a01032 	movne	r1, #50	; 0x32
40702c50:	1a000003 	bne	40702c64 <ddr_vref_get_win+0x34>
40702c54:	e5903060 	ldr	r3, [r0, #96]	; 0x60
40702c58:	e3530000 	cmp	r3, #0
40702c5c:	03a0101f 	moveq	r1, #31
40702c60:	13a0100f 	movne	r1, #15
40702c64:	e1520001 	cmp	r2, r1
40702c68:	e1a00004 	mov	r0, r4
40702c6c:	31a01002 	movcc	r1, r2
40702c70:	ebfffc67 	bl	40701e14 <ddr_vref_set>
40702c74:	e1a01005 	mov	r1, r5
40702c78:	e1a00004 	mov	r0, r4
40702c7c:	ebffff53 	bl	407029d0 <ddr_dataeye_deskew>
40702c80:	e5950100 	ldr	r0, [r5, #256]	; 0x100
40702c84:	e8bd8070 	pop	{r4, r5, r6, pc}

40702c88 <ddr_vref_find_best>:
40702c88:	e92d4df3 	push	{r0, r1, r4, r5, r6, r7, r8, sl, fp, lr}
40702c8c:	e1a0b003 	mov	fp, r3
40702c90:	e5903050 	ldr	r3, [r0, #80]	; 0x50
40702c94:	e1a08000 	mov	r8, r0
40702c98:	e1a0a001 	mov	sl, r1
40702c9c:	e3530001 	cmp	r3, #1
40702ca0:	13a07032 	movne	r7, #50	; 0x32
40702ca4:	1a000003 	bne	40702cb8 <ddr_vref_find_best+0x30>
40702ca8:	e5903060 	ldr	r3, [r0, #96]	; 0x60
40702cac:	e3530000 	cmp	r3, #0
40702cb0:	03a0701f 	moveq	r7, #31
40702cb4:	13a0700f 	movne	r7, #15
40702cb8:	e1570002 	cmp	r7, r2
40702cbc:	e3a06000 	mov	r6, #0
40702cc0:	e08b5002 	add	r5, fp, r2
40702cc4:	e1a03006 	mov	r3, r6
40702cc8:	31a04007 	movcc	r4, r7
40702ccc:	21a04002 	movcs	r4, r2
40702cd0:	e1570005 	cmp	r7, r5
40702cd4:	3a00000a 	bcc	40702d04 <ddr_vref_find_best+0x7c>
40702cd8:	e1a02005 	mov	r2, r5
40702cdc:	e1a0100a 	mov	r1, sl
40702ce0:	e1a00008 	mov	r0, r8
40702ce4:	e58d3004 	str	r3, [sp, #4]
40702ce8:	ebffffd0 	bl	40702c30 <ddr_vref_get_win>
40702cec:	e59d3004 	ldr	r3, [sp, #4]
40702cf0:	e1530000 	cmp	r3, r0
40702cf4:	9a000005 	bls	40702d10 <ddr_vref_find_best+0x88>
40702cf8:	e2866001 	add	r6, r6, #1
40702cfc:	e3560003 	cmp	r6, #3
40702d00:	1a000005 	bne	40702d1c <ddr_vref_find_best+0x94>
40702d04:	e1a00004 	mov	r0, r4
40702d08:	e28dd008 	add	sp, sp, #8
40702d0c:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40702d10:	e1a03000 	mov	r3, r0
40702d14:	e1a04005 	mov	r4, r5
40702d18:	e3a06000 	mov	r6, #0
40702d1c:	e085500b 	add	r5, r5, fp
40702d20:	eaffffea 	b	40702cd0 <ddr_vref_find_best+0x48>

40702d24 <ddr_vref_cal>:
40702d24:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40702d28:	e1a06001 	mov	r6, r1
40702d2c:	e5903050 	ldr	r3, [r0, #80]	; 0x50
40702d30:	e1a04000 	mov	r4, r0
40702d34:	e5902054 	ldr	r2, [r0, #84]	; 0x54
40702d38:	e3530001 	cmp	r3, #1
40702d3c:	e5903040 	ldr	r3, [r0, #64]	; 0x40
40702d40:	05901060 	ldreq	r1, [r0, #96]	; 0x60
40702d44:	02833f9d 	addeq	r3, r3, #628	; 0x274
40702d48:	12833e27 	addne	r3, r3, #624	; 0x270
40702d4c:	00833501 	addeq	r3, r3, r1, lsl #10
40702d50:	17935382 	ldrne	r5, [r3, r2, lsl #7]
40702d54:	e1a01006 	mov	r1, r6
40702d58:	07935382 	ldreq	r5, [r3, r2, lsl #7]
40702d5c:	1205503f 	andne	r5, r5, #63	; 0x3f
40702d60:	0205501f 	andeq	r5, r5, #31
40702d64:	e2452003 	sub	r2, r5, #3
40702d68:	ebffffb0 	bl	40702c30 <ddr_vref_get_win>
40702d6c:	e2852003 	add	r2, r5, #3
40702d70:	e1a01006 	mov	r1, r6
40702d74:	e1a07000 	mov	r7, r0
40702d78:	e1a00004 	mov	r0, r4
40702d7c:	ebffffab 	bl	40702c30 <ddr_vref_get_win>
40702d80:	e1570000 	cmp	r7, r0
40702d84:	2a000008 	bcs	40702dac <ddr_vref_cal+0x88>
40702d88:	e3a03001 	mov	r3, #1
40702d8c:	e1a01006 	mov	r1, r6
40702d90:	e1a02005 	mov	r2, r5
40702d94:	e1a00004 	mov	r0, r4
40702d98:	ebffffba 	bl	40702c88 <ddr_vref_find_best>
40702d9c:	e1a01000 	mov	r1, r0
40702da0:	e1a00004 	mov	r0, r4
40702da4:	e8bd41f0 	pop	{r4, r5, r6, r7, r8, lr}
40702da8:	eafffc19 	b	40701e14 <ddr_vref_set>
40702dac:	9a000001 	bls	40702db8 <ddr_vref_cal+0x94>
40702db0:	e3e03000 	mvn	r3, #0
40702db4:	eafffff4 	b	40702d8c <ddr_vref_cal+0x68>
40702db8:	e5943050 	ldr	r3, [r4, #80]	; 0x50
40702dbc:	e3530001 	cmp	r3, #1
40702dc0:	13a03032 	movne	r3, #50	; 0x32
40702dc4:	1a000003 	bne	40702dd8 <ddr_vref_cal+0xb4>
40702dc8:	e5943060 	ldr	r3, [r4, #96]	; 0x60
40702dcc:	e3530000 	cmp	r3, #0
40702dd0:	03a0301f 	moveq	r3, #31
40702dd4:	13a0300f 	movne	r3, #15
40702dd8:	e15500a3 	cmp	r5, r3, lsr #1
40702ddc:	2afffff3 	bcs	40702db0 <ddr_vref_cal+0x8c>
40702de0:	eaffffe8 	b	40702d88 <ddr_vref_cal+0x64>

40702de4 <ddr_adjust_move_win.constprop.14>:
40702de4:	e92d4df3 	push	{r0, r1, r4, r5, r6, r7, r8, sl, fp, lr}
40702de8:	e1a0b001 	mov	fp, r1
40702dec:	e5901050 	ldr	r1, [r0, #80]	; 0x50
40702df0:	e1a0a002 	mov	sl, r2
40702df4:	e1a04000 	mov	r4, r0
40702df8:	e5902054 	ldr	r2, [r0, #84]	; 0x54
40702dfc:	e3510002 	cmp	r1, #2
40702e00:	e5903040 	ldr	r3, [r0, #64]	; 0x40
40702e04:	0a000024 	beq	40702e9c <ddr_adjust_move_win.constprop.14+0xb8>
40702e08:	e3510001 	cmp	r1, #1
40702e0c:	130081ff 	movwne	r8, #511	; 0x1ff
40702e10:	1a000022 	bne	40702ea0 <ddr_adjust_move_win.constprop.14+0xbc>
40702e14:	e2833f8b 	add	r3, r3, #556	; 0x22c
40702e18:	e30081ff 	movw	r8, #511	; 0x1ff
40702e1c:	e7936382 	ldr	r6, [r3, r2, lsl #7]
40702e20:	e7e86056 	ubfx	r6, r6, #0, #9
40702e24:	e1a05006 	mov	r5, r6
40702e28:	e3a07000 	mov	r7, #0
40702e2c:	e1580007 	cmp	r8, r7
40702e30:	3a000017 	bcc	40702e94 <ddr_adjust_move_win.constprop.14+0xb0>
40702e34:	e5943050 	ldr	r3, [r4, #80]	; 0x50
40702e38:	e3530002 	cmp	r3, #2
40702e3c:	1a00001d 	bne	40702eb8 <ddr_adjust_move_win.constprop.14+0xd4>
40702e40:	e1a00004 	mov	r0, r4
40702e44:	e58d3004 	str	r3, [sp, #4]
40702e48:	ebfffb44 	bl	40701b60 <ddr_adjust_get_average>
40702e4c:	e59d3004 	ldr	r3, [sp, #4]
40702e50:	e3500037 	cmp	r0, #55	; 0x37
40702e54:	9a000002 	bls	40702e64 <ddr_adjust_move_win.constprop.14+0x80>
40702e58:	e3500048 	cmp	r0, #72	; 0x48
40702e5c:	83a03004 	movhi	r3, #4
40702e60:	93a03001 	movls	r3, #1
40702e64:	e3a02001 	mov	r2, #1
40702e68:	e153000a 	cmp	r3, sl
40702e6c:	13530001 	cmpne	r3, #1
40702e70:	0a000007 	beq	40702e94 <ddr_adjust_move_win.constprop.14+0xb0>
40702e74:	e5943050 	ldr	r3, [r4, #80]	; 0x50
40702e78:	e3530001 	cmp	r3, #1
40702e7c:	1a00001c 	bne	40702ef4 <ddr_adjust_move_win.constprop.14+0x110>
40702e80:	e35a0004 	cmp	sl, #4
40702e84:	00855002 	addeq	r5, r5, r2
40702e88:	10455002 	subne	r5, r5, r2
40702e8c:	e3550c02 	cmp	r5, #512	; 0x200
40702e90:	3a00001c 	bcc	40702f08 <ddr_adjust_move_win.constprop.14+0x124>
40702e94:	e28dd008 	add	sp, sp, #8
40702e98:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40702e9c:	e3a0801f 	mov	r8, #31
40702ea0:	e5941060 	ldr	r1, [r4, #96]	; 0x60
40702ea4:	e2833f8d 	add	r3, r3, #564	; 0x234
40702ea8:	e0833501 	add	r3, r3, r1, lsl #10
40702eac:	e7936382 	ldr	r6, [r3, r2, lsl #7]
40702eb0:	e7e46456 	ubfx	r6, r6, #8, #5
40702eb4:	eaffffda 	b	40702e24 <ddr_adjust_move_win.constprop.14+0x40>
40702eb8:	e1a00004 	mov	r0, r4
40702ebc:	ebfffb27 	bl	40701b60 <ddr_adjust_get_average>
40702ec0:	e3500040 	cmp	r0, #64	; 0x40
40702ec4:	9a000004 	bls	40702edc <ddr_adjust_move_win.constprop.14+0xf8>
40702ec8:	e3500048 	cmp	r0, #72	; 0x48
40702ecc:	e2402040 	sub	r2, r0, #64	; 0x40
40702ed0:	83a03004 	movhi	r3, #4
40702ed4:	93a03001 	movls	r3, #1
40702ed8:	eaffffe2 	b	40702e68 <ddr_adjust_move_win.constprop.14+0x84>
40702edc:	12602040 	rsbne	r2, r0, #64	; 0x40
40702ee0:	03a02001 	moveq	r2, #1
40702ee4:	e3500037 	cmp	r0, #55	; 0x37
40702ee8:	83a03001 	movhi	r3, #1
40702eec:	93a03002 	movls	r3, #2
40702ef0:	eaffffdc 	b	40702e68 <ddr_adjust_move_win.constprop.14+0x84>
40702ef4:	e35a0004 	cmp	sl, #4
40702ef8:	00455002 	subeq	r5, r5, r2
40702efc:	10855002 	addne	r5, r5, r2
40702f00:	e355001f 	cmp	r5, #31
40702f04:	8affffe2 	bhi	40702e94 <ddr_adjust_move_win.constprop.14+0xb0>
40702f08:	e1a01005 	mov	r1, r5
40702f0c:	e1a00004 	mov	r0, r4
40702f10:	ebfffd6b 	bl	407024c4 <ddr_adjust_set_val>
40702f14:	e1a0100b 	mov	r1, fp
40702f18:	e1a00004 	mov	r0, r4
40702f1c:	ebfffeab 	bl	407029d0 <ddr_dataeye_deskew>
40702f20:	e3500000 	cmp	r0, #0
40702f24:	0a000007 	beq	40702f48 <ddr_adjust_move_win.constprop.14+0x164>
40702f28:	e1a01006 	mov	r1, r6
40702f2c:	e1a00004 	mov	r0, r4
40702f30:	ebfffd63 	bl	407024c4 <ddr_adjust_set_val>
40702f34:	e1a0100b 	mov	r1, fp
40702f38:	e1a00004 	mov	r0, r4
40702f3c:	e28dd008 	add	sp, sp, #8
40702f40:	e8bd4df0 	pop	{r4, r5, r6, r7, r8, sl, fp, lr}
40702f44:	eafffea1 	b	407029d0 <ddr_dataeye_deskew>
40702f48:	e2877001 	add	r7, r7, #1
40702f4c:	eaffffb6 	b	40702e2c <ddr_adjust_move_win.constprop.14+0x48>

40702f50 <ddr_adjust_dataeye>:
40702f50:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40702f54:	e5905048 	ldr	r5, [r0, #72]	; 0x48
40702f58:	e2155201 	ands	r5, r5, #268435456	; 0x10000000
40702f5c:	0a000014 	beq	40702fb4 <ddr_adjust_dataeye+0x64>
40702f60:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40702f64:	e0852082 	add	r2, r5, r2, lsl #1
40702f68:	e1a00004 	mov	r0, r4
40702f6c:	e5842054 	str	r2, [r4, #84]	; 0x54
40702f70:	ebfffafa 	bl	40701b60 <ddr_adjust_get_average>
40702f74:	e3500037 	cmp	r0, #55	; 0x37
40702f78:	93a02004 	movls	r2, #4
40702f7c:	9a000014 	bls	40702fd4 <ddr_adjust_dataeye+0x84>
40702f80:	e3500048 	cmp	r0, #72	; 0x48
40702f84:	83a02002 	movhi	r2, #2
40702f88:	8a000011 	bhi	40702fd4 <ddr_adjust_dataeye+0x84>
40702f8c:	e2855001 	add	r5, r5, #1
40702f90:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40702f94:	e5942064 	ldr	r2, [r4, #100]	; 0x64
40702f98:	e0030398 	mul	r3, r8, r3
40702f9c:	e0233297 	mla	r3, r7, r2, r3
40702fa0:	e0843003 	add	r3, r4, r3
40702fa4:	e5933018 	ldr	r3, [r3, #24]
40702fa8:	e1550003 	cmp	r5, r3
40702fac:	3affffec 	bcc	40702f64 <ddr_adjust_dataeye+0x14>
40702fb0:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40702fb4:	e5903068 	ldr	r3, [r0, #104]	; 0x68
40702fb8:	e3530000 	cmp	r3, #0
40702fbc:	08bd81f0 	popeq	{r4, r5, r6, r7, r8, pc}
40702fc0:	e1a06001 	mov	r6, r1
40702fc4:	e1a04000 	mov	r4, r0
40702fc8:	e3a0700c 	mov	r7, #12
40702fcc:	e3a0803c 	mov	r8, #60	; 0x3c
40702fd0:	eaffffee 	b	40702f90 <ddr_adjust_dataeye+0x40>
40702fd4:	e1a01006 	mov	r1, r6
40702fd8:	e1a00004 	mov	r0, r4
40702fdc:	ebffff80 	bl	40702de4 <ddr_adjust_move_win.constprop.14>
40702fe0:	eaffffe9 	b	40702f8c <ddr_adjust_dataeye+0x3c>

40702fe4 <ddr_dataeye_process>:
40702fe4:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
40702fe8:	e3a06000 	mov	r6, #0
40702fec:	e1a04000 	mov	r4, r0
40702ff0:	e1a07001 	mov	r7, r1
40702ff4:	e1a05006 	mov	r5, r6
40702ff8:	e3a0800c 	mov	r8, #12
40702ffc:	e3a0a03c 	mov	sl, #60	; 0x3c
40703000:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40703004:	e5942064 	ldr	r2, [r4, #100]	; 0x64
40703008:	e003039a 	mul	r3, sl, r3
4070300c:	e0233298 	mla	r3, r8, r2, r3
40703010:	e0843003 	add	r3, r4, r3
40703014:	e5933018 	ldr	r3, [r3, #24]
40703018:	e1530006 	cmp	r3, r6
4070301c:	8a00000a 	bhi	4070304c <ddr_dataeye_process+0x68>
40703020:	e3550000 	cmp	r5, #0
40703024:	13e05000 	mvnne	r5, #0
40703028:	1a000002 	bne	40703038 <ddr_dataeye_process+0x54>
4070302c:	e1a01007 	mov	r1, r7
40703030:	e1a00004 	mov	r0, r4
40703034:	ebffffc5 	bl	40702f50 <ddr_adjust_dataeye>
40703038:	e1a00004 	mov	r0, r4
4070303c:	e1a01007 	mov	r1, r7
40703040:	eb000354 	bl	40703d98 <ddr_result_data_save>
40703044:	e1a00005 	mov	r0, r5
40703048:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
4070304c:	e0862082 	add	r2, r6, r2, lsl #1
40703050:	e1a01007 	mov	r1, r7
40703054:	e5842054 	str	r2, [r4, #84]	; 0x54
40703058:	e1a00004 	mov	r0, r4
4070305c:	ebfffe5b 	bl	407029d0 <ddr_dataeye_deskew>
40703060:	e2866001 	add	r6, r6, #1
40703064:	e0855000 	add	r5, r5, r0
40703068:	eaffffe4 	b	40703000 <ddr_dataeye_process+0x1c>

4070306c <ddr_dataeye_training>:
4070306c:	e92d4030 	push	{r4, r5, lr}
40703070:	e24ddf43 	sub	sp, sp, #268	; 0x10c
40703074:	e1a04000 	mov	r4, r0
40703078:	e3a03002 	mov	r3, #2
4070307c:	e3a02f41 	mov	r2, #260	; 0x104
40703080:	e5803050 	str	r3, [r0, #80]	; 0x50
40703084:	e3a01000 	mov	r1, #0
40703088:	e28d0004 	add	r0, sp, #4
4070308c:	ebfffadc 	bl	40701c04 <ddrtr_memset>
40703090:	e28d1004 	add	r1, sp, #4
40703094:	e1a00004 	mov	r0, r4
40703098:	ebffffd1 	bl	40702fe4 <ddr_dataeye_process>
4070309c:	e3a03001 	mov	r3, #1
407030a0:	e3a02f41 	mov	r2, #260	; 0x104
407030a4:	e5843050 	str	r3, [r4, #80]	; 0x50
407030a8:	e3a01000 	mov	r1, #0
407030ac:	e1a05000 	mov	r5, r0
407030b0:	e28d0004 	add	r0, sp, #4
407030b4:	ebfffad2 	bl	40701c04 <ddrtr_memset>
407030b8:	e28d1004 	add	r1, sp, #4
407030bc:	e1a00004 	mov	r0, r4
407030c0:	ebffffc7 	bl	40702fe4 <ddr_dataeye_process>
407030c4:	e1953000 	orrs	r3, r5, r0
407030c8:	13e00000 	mvnne	r0, #0
407030cc:	03a00000 	moveq	r0, #0
407030d0:	e28ddf43 	add	sp, sp, #268	; 0x10c
407030d4:	e8bd8030 	pop	{r4, r5, pc}

407030d8 <ddr_dataeye_training_func>:
407030d8:	e92d4030 	push	{r4, r5, lr}
407030dc:	e24dd03c 	sub	sp, sp, #60	; 0x3c
407030e0:	e5903048 	ldr	r3, [r0, #72]	; 0x48
407030e4:	e3130801 	tst	r3, #65536	; 0x10000
407030e8:	13a05000 	movne	r5, #0
407030ec:	1a000011 	bne	40703138 <ddr_dataeye_training_func+0x60>
407030f0:	e1a04000 	mov	r4, r0
407030f4:	e3a02801 	mov	r2, #65536	; 0x10000
407030f8:	e1a0100d 	mov	r1, sp
407030fc:	ebfffc41 	bl	40702208 <ddr_training_save_reg>
40703100:	e1a00004 	mov	r0, r4
40703104:	ebfffc19 	bl	40702170 <ddr_training_switch_axi>
40703108:	e3a01002 	mov	r1, #2
4070310c:	e1a00004 	mov	r0, r4
40703110:	ebfffd4e 	bl	40702650 <ddr_ddrt_init>
40703114:	e3a03001 	mov	r3, #1
40703118:	e1a00004 	mov	r0, r4
4070311c:	e5843068 	str	r3, [r4, #104]	; 0x68
40703120:	e584306c 	str	r3, [r4, #108]	; 0x6c
40703124:	ebffffd0 	bl	4070306c <ddr_dataeye_training>
40703128:	e1a0100d 	mov	r1, sp
4070312c:	e1a05000 	mov	r5, r0
40703130:	e1a00004 	mov	r0, r4
40703134:	ebfffc70 	bl	407022fc <ddr_training_restore_reg>
40703138:	e1a00005 	mov	r0, r5
4070313c:	e28dd03c 	add	sp, sp, #60	; 0x3c
40703140:	e8bd8030 	pop	{r4, r5, pc}

40703144 <ddr_hw_dataeye_read>:
40703144:	e92d4070 	push	{r4, r5, r6, lr}
40703148:	e3a0203c 	mov	r2, #60	; 0x3c
4070314c:	e590305c 	ldr	r3, [r0, #92]	; 0x5c
40703150:	e1a04000 	mov	r4, r0
40703154:	e5905040 	ldr	r5, [r0, #64]	; 0x40
40703158:	e0230392 	mla	r3, r2, r3, r0
4070315c:	e5936010 	ldr	r6, [r3, #16]
40703160:	ebfffd2e 	bl	40702620 <ddr_training_cfg_init>
40703164:	e3a03000 	mov	r3, #0
40703168:	e2850f8b 	add	r0, r5, #556	; 0x22c
4070316c:	e285cf87 	add	ip, r5, #540	; 0x21c
40703170:	e285ee22 	add	lr, r5, #544	; 0x220
40703174:	e1a02003 	mov	r2, r3
40703178:	e1530006 	cmp	r3, r6
4070317c:	1a000005 	bne	40703198 <ddr_hw_dataeye_read+0x54>
40703180:	e1a00005 	mov	r0, r5
40703184:	ebfffc13 	bl	407021d8 <ddr_phy_cfg_update>
40703188:	e1a00004 	mov	r0, r4
4070318c:	e3a01c01 	mov	r1, #256	; 0x100
40703190:	e8bd4070 	pop	{r4, r5, r6, lr}
40703194:	eafffba6 	b	40702034 <ddr_hw_training_process>
40703198:	e5941060 	ldr	r1, [r4, #96]	; 0x60
4070319c:	e08c1501 	add	r1, ip, r1, lsl #10
407031a0:	e7812383 	str	r2, [r1, r3, lsl #7]
407031a4:	e5941060 	ldr	r1, [r4, #96]	; 0x60
407031a8:	e08e1501 	add	r1, lr, r1, lsl #10
407031ac:	e7812383 	str	r2, [r1, r3, lsl #7]
407031b0:	e2833001 	add	r3, r3, #1
407031b4:	e4802080 	str	r2, [r0], #128	; 0x80
407031b8:	eaffffee 	b	40703178 <ddr_hw_dataeye_read+0x34>

407031bc <ddr_hw_training_ctl>:
407031bc:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
407031c0:	e28db01c 	add	fp, sp, #28
407031c4:	e24dd040 	sub	sp, sp, #64	; 0x40
407031c8:	e5905040 	ldr	r5, [r0, #64]	; 0x40
407031cc:	e5907074 	ldr	r7, [r0, #116]	; 0x74
407031d0:	e5906048 	ldr	r6, [r0, #72]	; 0x48
407031d4:	e59530c4 	ldr	r3, [r5, #196]	; 0xc4
407031d8:	e3570000 	cmp	r7, #0
407031dc:	13560000 	cmpne	r6, #0
407031e0:	e50b3020 	str	r3, [fp, #-32]	; 0xffffffe0
407031e4:	03a07000 	moveq	r7, #0
407031e8:	0a00005e 	beq	40703368 <ddr_hw_training_ctl+0x1ac>
407031ec:	e590305c 	ldr	r3, [r0, #92]	; 0x5c
407031f0:	e3a0803c 	mov	r8, #60	; 0x3c
407031f4:	e1a04000 	mov	r4, r0
407031f8:	e0230398 	mla	r3, r8, r3, r0
407031fc:	e1a00005 	mov	r0, r5
40703200:	e5933010 	ldr	r3, [r3, #16]
40703204:	e50b3040 	str	r3, [fp, #-64]	; 0xffffffc0
40703208:	ebfffbf2 	bl	407021d8 <ddr_phy_cfg_update>
4070320c:	e2061902 	and	r1, r6, #32768	; 0x8000
40703210:	e1a00004 	mov	r0, r4
40703214:	ebfffb86 	bl	40702034 <ddr_hw_training_process>
40703218:	e206100e 	and	r1, r6, #14
4070321c:	e1a0a000 	mov	sl, r0
40703220:	e1a00004 	mov	r0, r4
40703224:	ebfffb82 	bl	40702034 <ddr_hw_training_process>
40703228:	e5943060 	ldr	r3, [r4, #96]	; 0x60
4070322c:	e3530000 	cmp	r3, #0
40703230:	e08aa000 	add	sl, sl, r0
40703234:	0a00004e 	beq	40703374 <ddr_hw_training_ctl+0x1b8>
40703238:	e3a0e000 	mov	lr, #0
4070323c:	e51b3040 	ldr	r3, [fp, #-64]	; 0xffffffc0
40703240:	e15e0003 	cmp	lr, r3
40703244:	1a000055 	bne	407033a0 <ddr_hw_training_ctl+0x1e4>
40703248:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
4070324c:	e3a0203c 	mov	r2, #60	; 0x3c
40703250:	e2061b05 	and	r1, r6, #5120	; 0x1400
40703254:	e0234392 	mla	r3, r2, r3, r4
40703258:	e5933004 	ldr	r3, [r3, #4]
4070325c:	e3530006 	cmp	r3, #6
40703260:	1a0000af 	bne	40703524 <ddr_hw_training_ctl+0x368>
40703264:	e5958064 	ldr	r8, [r5, #100]	; 0x64
40703268:	e1a00004 	mov	r0, r4
4070326c:	e3c8320f 	bic	r3, r8, #-268435456	; 0xf0000000
40703270:	e5853064 	str	r3, [r5, #100]	; 0x64
40703274:	ebfffb6e 	bl	40702034 <ddr_hw_training_process>
40703278:	e5858064 	str	r8, [r5, #100]	; 0x64
4070327c:	e5958048 	ldr	r8, [r5, #72]	; 0x48
40703280:	e3c83001 	bic	r3, r8, #1
40703284:	e5853048 	str	r3, [r5, #72]	; 0x48
40703288:	e08a7000 	add	r7, sl, r0
4070328c:	e206a602 	and	sl, r6, #2097152	; 0x200000
40703290:	e1a00004 	mov	r0, r4
40703294:	e1a0100a 	mov	r1, sl
40703298:	ebfffb65 	bl	40702034 <ddr_hw_training_process>
4070329c:	e3883001 	orr	r3, r8, #1
407032a0:	e1a0100a 	mov	r1, sl
407032a4:	e5853048 	str	r3, [r5, #72]	; 0x48
407032a8:	e0877000 	add	r7, r7, r0
407032ac:	e1a00004 	mov	r0, r4
407032b0:	ebfffb5f 	bl	40702034 <ddr_hw_training_process>
407032b4:	e5858048 	str	r8, [r5, #72]	; 0x48
407032b8:	e2061b01 	and	r1, r6, #1024	; 0x400
407032bc:	e0877000 	add	r7, r7, r0
407032c0:	e1a00004 	mov	r0, r4
407032c4:	ebfffb5a 	bl	40702034 <ddr_hw_training_process>
407032c8:	e0877000 	add	r7, r7, r0
407032cc:	e2061b02 	and	r1, r6, #2048	; 0x800
407032d0:	e1a00004 	mov	r0, r4
407032d4:	ebfffb56 	bl	40702034 <ddr_hw_training_process>
407032d8:	e2061501 	and	r1, r6, #4194304	; 0x400000
407032dc:	e2068701 	and	r8, r6, #262144	; 0x40000
407032e0:	e0877000 	add	r7, r7, r0
407032e4:	e1a00004 	mov	r0, r4
407032e8:	ebfffb51 	bl	40702034 <ddr_hw_training_process>
407032ec:	e51b3020 	ldr	r3, [fp, #-32]	; 0xffffffe0
407032f0:	e1a01008 	mov	r1, r8
407032f4:	e3c33102 	bic	r3, r3, #-2147483648	; 0x80000000
407032f8:	e58530c4 	str	r3, [r5, #196]	; 0xc4
407032fc:	e59530c0 	ldr	r3, [r5, #192]	; 0xc0
40703300:	e3833102 	orr	r3, r3, #-2147483648	; 0x80000000
40703304:	e58530c0 	str	r3, [r5, #192]	; 0xc0
40703308:	e0877000 	add	r7, r7, r0
4070330c:	e1a00004 	mov	r0, r4
40703310:	ebfffb47 	bl	40702034 <ddr_hw_training_process>
40703314:	e1a01008 	mov	r1, r8
40703318:	e0877000 	add	r7, r7, r0
4070331c:	e1a00004 	mov	r0, r4
40703320:	ebfffb43 	bl	40702034 <ddr_hw_training_process>
40703324:	e59530c0 	ldr	r3, [r5, #192]	; 0xc0
40703328:	e1a01008 	mov	r1, r8
4070332c:	e3c33102 	bic	r3, r3, #-2147483648	; 0x80000000
40703330:	e58530c0 	str	r3, [r5, #192]	; 0xc0
40703334:	e0877000 	add	r7, r7, r0
40703338:	e1a00004 	mov	r0, r4
4070333c:	ebfffb3c 	bl	40702034 <ddr_hw_training_process>
40703340:	e51b3020 	ldr	r3, [fp, #-32]	; 0xffffffe0
40703344:	e59f11e8 	ldr	r1, [pc, #488]	; 40703534 <ddr_hw_training_ctl+0x378>
40703348:	e58530c4 	str	r3, [r5, #196]	; 0xc4
4070334c:	e0011006 	and	r1, r1, r6
40703350:	e0877000 	add	r7, r7, r0
40703354:	e1a00004 	mov	r0, r4
40703358:	ebfffb35 	bl	40702034 <ddr_hw_training_process>
4070335c:	e0877000 	add	r7, r7, r0
40703360:	e1a00005 	mov	r0, r5
40703364:	ebfffb9b 	bl	407021d8 <ddr_phy_cfg_update>
40703368:	e1a00007 	mov	r0, r7
4070336c:	e24bd01c 	sub	sp, fp, #28
40703370:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40703374:	e594105c 	ldr	r1, [r4, #92]	; 0x5c
40703378:	e5942040 	ldr	r2, [r4, #64]	; 0x40
4070337c:	e0284198 	mla	r8, r8, r1, r4
40703380:	e2822f8b 	add	r2, r2, #556	; 0x22c
40703384:	e5981010 	ldr	r1, [r8, #16]
40703388:	e1530001 	cmp	r3, r1
4070338c:	0affffa9 	beq	40703238 <ddr_hw_training_ctl+0x7c>
40703390:	e4920080 	ldr	r0, [r2], #128	; 0x80
40703394:	e7870103 	str	r0, [r7, r3, lsl #2]
40703398:	e2833001 	add	r3, r3, #1
4070339c:	eafffff9 	b	40703388 <ddr_hw_training_ctl+0x1cc>
407033a0:	e5941060 	ldr	r1, [r4, #96]	; 0x60
407033a4:	e1a0238e 	lsl	r2, lr, #7
407033a8:	e594c040 	ldr	ip, [r4, #64]	; 0x40
407033ac:	e584e054 	str	lr, [r4, #84]	; 0x54
407033b0:	e08c1501 	add	r1, ip, r1, lsl #10
407033b4:	e28ccf8b 	add	ip, ip, #556	; 0x22c
407033b8:	e0811002 	add	r1, r1, r2
407033bc:	e50b2054 	str	r2, [fp, #-84]	; 0xffffffac
407033c0:	e50bc03c 	str	ip, [fp, #-60]	; 0xffffffc4
407033c4:	e591021c 	ldr	r0, [r1, #540]	; 0x21c
407033c8:	e5912220 	ldr	r2, [r1, #544]	; 0x220
407033cc:	e5917224 	ldr	r7, [r1, #548]	; 0x224
407033d0:	e79cc38e 	ldr	ip, [ip, lr, lsl #7]
407033d4:	e50bd044 	str	sp, [fp, #-68]	; 0xffffffbc
407033d8:	e24dd030 	sub	sp, sp, #48	; 0x30
407033dc:	e50b7024 	str	r7, [fp, #-36]	; 0xffffffdc
407033e0:	e7e67450 	ubfx	r7, r0, #8, #7
407033e4:	e50bc028 	str	ip, [fp, #-40]	; 0xffffffd8
407033e8:	e200c07f 	and	ip, r0, #127	; 0x7f
407033ec:	e50bc048 	str	ip, [fp, #-72]	; 0xffffffb8
407033f0:	e24d8004 	sub	r8, sp, #4
407033f4:	e58dc000 	str	ip, [sp]
407033f8:	e7e6c850 	ubfx	ip, r0, #16, #7
407033fc:	e7e60c50 	ubfx	r0, r0, #24, #7
40703400:	e50b002c 	str	r0, [fp, #-44]	; 0xffffffd4
40703404:	e58d000c 	str	r0, [sp, #12]
40703408:	e202007f 	and	r0, r2, #127	; 0x7f
4070340c:	e50b004c 	str	r0, [fp, #-76]	; 0xffffffb4
40703410:	e28d3024 	add	r3, sp, #36	; 0x24
40703414:	e58d0010 	str	r0, [sp, #16]
40703418:	e7e60452 	ubfx	r0, r2, #8, #7
4070341c:	e50b0050 	str	r0, [fp, #-80]	; 0xffffffb0
40703420:	e58d0014 	str	r0, [sp, #20]
40703424:	e7e60852 	ubfx	r0, r2, #16, #7
40703428:	e7e62c52 	ubfx	r2, r2, #24, #7
4070342c:	e50b2030 	str	r2, [fp, #-48]	; 0xffffffd0
40703430:	e58d201c 	str	r2, [sp, #28]
40703434:	e51b2024 	ldr	r2, [fp, #-36]	; 0xffffffdc
40703438:	e58d7004 	str	r7, [sp, #4]
4070343c:	e202207f 	and	r2, r2, #127	; 0x7f
40703440:	e50b2034 	str	r2, [fp, #-52]	; 0xffffffcc
40703444:	e58d2020 	str	r2, [sp, #32]
40703448:	e51b2028 	ldr	r2, [fp, #-40]	; 0xffffffd8
4070344c:	e58dc008 	str	ip, [sp, #8]
40703450:	e7e82052 	ubfx	r2, r2, #0, #9
40703454:	e50b2038 	str	r2, [fp, #-56]	; 0xffffffc8
40703458:	e58d2024 	str	r2, [sp, #36]	; 0x24
4070345c:	e3e02000 	mvn	r2, #0
40703460:	e58d0018 	str	r0, [sp, #24]
40703464:	e50b3058 	str	r3, [fp, #-88]	; 0xffffffa8
40703468:	e5b83004 	ldr	r3, [r8, #4]!
4070346c:	e1520003 	cmp	r2, r3
40703470:	21a02003 	movcs	r2, r3
40703474:	e51b3058 	ldr	r3, [fp, #-88]	; 0xffffffa8
40703478:	e1530008 	cmp	r3, r8
4070347c:	1afffff9 	bne	40703468 <ddr_hw_training_ctl+0x2ac>
40703480:	e04cc002 	sub	ip, ip, r2
40703484:	e51b3048 	ldr	r3, [fp, #-72]	; 0xffffffb8
40703488:	e0477002 	sub	r7, r7, r2
4070348c:	e0400002 	sub	r0, r0, r2
40703490:	e1a0c80c 	lsl	ip, ip, #16
40703494:	e0433002 	sub	r3, r3, r2
40703498:	e18c7407 	orr	r7, ip, r7, lsl #8
4070349c:	e1a00800 	lsl	r0, r0, #16
407034a0:	e1877003 	orr	r7, r7, r3
407034a4:	e51b302c 	ldr	r3, [fp, #-44]	; 0xffffffd4
407034a8:	e51bc034 	ldr	ip, [fp, #-52]	; 0xffffffcc
407034ac:	e28ee001 	add	lr, lr, #1
407034b0:	e0433002 	sub	r3, r3, r2
407034b4:	e51b8038 	ldr	r8, [fp, #-56]	; 0xffffffc8
407034b8:	e04cc002 	sub	ip, ip, r2
407034bc:	e1877c03 	orr	r7, r7, r3, lsl #24
407034c0:	e51b3050 	ldr	r3, [fp, #-80]	; 0xffffffb0
407034c4:	e581721c 	str	r7, [r1, #540]	; 0x21c
407034c8:	e0433002 	sub	r3, r3, r2
407034cc:	e1800403 	orr	r0, r0, r3, lsl #8
407034d0:	e51b304c 	ldr	r3, [fp, #-76]	; 0xffffffb4
407034d4:	e0433002 	sub	r3, r3, r2
407034d8:	e1800003 	orr	r0, r0, r3
407034dc:	e51b3030 	ldr	r3, [fp, #-48]	; 0xffffffd0
407034e0:	e0433002 	sub	r3, r3, r2
407034e4:	e0482002 	sub	r2, r8, r2
407034e8:	e1800c03 	orr	r0, r0, r3, lsl #24
407034ec:	e51b3024 	ldr	r3, [fp, #-36]	; 0xffffffdc
407034f0:	e5810220 	str	r0, [r1, #544]	; 0x220
407034f4:	e3c3307f 	bic	r3, r3, #127	; 0x7f
407034f8:	e18c3003 	orr	r3, ip, r3
407034fc:	e51bc028 	ldr	ip, [fp, #-40]	; 0xffffffd8
40703500:	e5813224 	str	r3, [r1, #548]	; 0x224
40703504:	e51b303c 	ldr	r3, [fp, #-60]	; 0xffffffc4
40703508:	e3cccf7f 	bic	ip, ip, #508	; 0x1fc
4070350c:	e51b1054 	ldr	r1, [fp, #-84]	; 0xffffffac
40703510:	e3ccc003 	bic	ip, ip, #3
40703514:	e182200c 	orr	r2, r2, ip
40703518:	e7832001 	str	r2, [r3, r1]
4070351c:	e51bd044 	ldr	sp, [fp, #-68]	; 0xffffffbc
40703520:	eaffff45 	b	4070323c <ddr_hw_training_ctl+0x80>
40703524:	e1a00004 	mov	r0, r4
40703528:	ebfffac1 	bl	40702034 <ddr_hw_training_process>
4070352c:	e08a7000 	add	r7, sl, r0
40703530:	eaffff65 	b	407032cc <ddr_hw_training_ctl+0x110>
40703534:	100303f0 	.word	0x100303f0

40703538 <ddr_hw_training>:
40703538:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
4070353c:	e1a04000 	mov	r4, r0
40703540:	e24dd080 	sub	sp, sp, #128	; 0x80
40703544:	e3a01001 	mov	r1, #1
40703548:	e28d0048 	add	r0, sp, #72	; 0x48
4070354c:	e1a06004 	mov	r6, r4
40703550:	eb000236 	bl	40703e30 <ddr_training_save_reg_custom>
40703554:	e3a07000 	mov	r7, #0
40703558:	e58d7004 	str	r7, [sp, #4]
4070355c:	e594303c 	ldr	r3, [r4, #60]	; 0x3c
40703560:	e1530007 	cmp	r3, r7
40703564:	8a000004 	bhi	4070357c <ddr_hw_training+0x44>
40703568:	e28d0048 	add	r0, sp, #72	; 0x48
4070356c:	eb000236 	bl	40703e4c <ddr_training_restore_reg_custom>
40703570:	e59d0004 	ldr	r0, [sp, #4]
40703574:	e28dd080 	add	sp, sp, #128	; 0x80
40703578:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
4070357c:	e584705c 	str	r7, [r4, #92]	; 0x5c
40703580:	e3a02000 	mov	r2, #0
40703584:	e5963000 	ldr	r3, [r6]
40703588:	e3a0500c 	mov	r5, #12
4070358c:	e28da018 	add	sl, sp, #24
40703590:	e5843040 	str	r3, [r4, #64]	; 0x40
40703594:	e596800c 	ldr	r8, [r6, #12]
40703598:	e584a074 	str	sl, [r4, #116]	; 0x74
4070359c:	e5963008 	ldr	r3, [r6, #8]
407035a0:	e1530002 	cmp	r3, r2
407035a4:	8a000026 	bhi	40703644 <ddr_hw_training+0x10c>
407035a8:	e3a0b03c 	mov	fp, #60	; 0x3c
407035ac:	e3a05000 	mov	r5, #0
407035b0:	e58d5000 	str	r5, [sp]
407035b4:	e1550008 	cmp	r5, r8
407035b8:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
407035bc:	1a00002a 	bne	4070366c <ddr_hw_training+0x134>
407035c0:	e3550002 	cmp	r5, #2
407035c4:	1a000010 	bne	4070360c <ddr_hw_training+0xd4>
407035c8:	e5942060 	ldr	r2, [r4, #96]	; 0x60
407035cc:	e3a05000 	mov	r5, #0
407035d0:	e28d8024 	add	r8, sp, #36	; 0x24
407035d4:	e1a0b005 	mov	fp, r5
407035d8:	e3a0a001 	mov	sl, #1
407035dc:	e58d2008 	str	r2, [sp, #8]
407035e0:	e3a0203c 	mov	r2, #60	; 0x3c
407035e4:	e0234392 	mla	r3, r2, r3, r4
407035e8:	e5933010 	ldr	r3, [r3, #16]
407035ec:	e58d300c 	str	r3, [sp, #12]
407035f0:	e59d300c 	ldr	r3, [sp, #12]
407035f4:	e1550003 	cmp	r5, r3
407035f8:	1a000048 	bne	40703720 <ddr_hw_training+0x1e8>
407035fc:	e59d3008 	ldr	r3, [sp, #8]
40703600:	e5940040 	ldr	r0, [r4, #64]	; 0x40
40703604:	e5843060 	str	r3, [r4, #96]	; 0x60
40703608:	ebfffaf2 	bl	407021d8 <ddr_phy_cfg_update>
4070360c:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40703610:	e3a0503c 	mov	r5, #60	; 0x3c
40703614:	e3a02000 	mov	r2, #0
40703618:	e0050395 	mul	r5, r5, r3
4070361c:	e0848005 	add	r8, r4, r5
40703620:	e5983008 	ldr	r3, [r8, #8]
40703624:	e1530002 	cmp	r3, r2
40703628:	8a00004f 	bhi	4070376c <ddr_hw_training+0x234>
4070362c:	e89d000c 	ldm	sp, {r2, r3}
40703630:	e2877001 	add	r7, r7, #1
40703634:	e286603c 	add	r6, r6, #60	; 0x3c
40703638:	e0833002 	add	r3, r3, r2
4070363c:	e58d3004 	str	r3, [sp, #4]
40703640:	eaffffc5 	b	4070355c <ddr_hw_training+0x24>
40703644:	e0236295 	mla	r3, r5, r2, r6
40703648:	e5930014 	ldr	r0, [r3, #20]
4070364c:	e28d3010 	add	r3, sp, #16
40703650:	e5901108 	ldr	r1, [r0, #264]	; 0x108
40703654:	e7831102 	str	r1, [r3, r2, lsl #2]
40703658:	e3c11eff 	bic	r1, r1, #4080	; 0xff0
4070365c:	e3c1100f 	bic	r1, r1, #15
40703660:	ebfff9df 	bl	40701de4 <ddr_training_set_timing>
40703664:	e2822001 	add	r2, r2, #1
40703668:	eaffffcb 	b	4070359c <ddr_hw_training+0x64>
4070366c:	e002039b 	mul	r2, fp, r3
40703670:	e2851005 	add	r1, r5, #5
40703674:	e5845060 	str	r5, [r4, #96]	; 0x60
40703678:	e1a00004 	mov	r0, r4
4070367c:	e0823181 	add	r3, r2, r1, lsl #3
40703680:	e5942040 	ldr	r2, [r4, #64]	; 0x40
40703684:	e0843003 	add	r3, r4, r3
40703688:	e5933008 	ldr	r3, [r3, #8]
4070368c:	e5843048 	str	r3, [r4, #72]	; 0x48
40703690:	e5923048 	ldr	r3, [r2, #72]	; 0x48
40703694:	e3c3300f 	bic	r3, r3, #15
40703698:	e1833005 	orr	r3, r3, r5
4070369c:	e5823048 	str	r3, [r2, #72]	; 0x48
407036a0:	ebfffec5 	bl	407031bc <ddr_hw_training_ctl>
407036a4:	e59d3000 	ldr	r3, [sp]
407036a8:	e3580002 	cmp	r8, #2
407036ac:	e0833000 	add	r3, r3, r0
407036b0:	e58d3000 	str	r3, [sp]
407036b4:	1affffd4 	bne	4070360c <ddr_hw_training+0xd4>
407036b8:	e594205c 	ldr	r2, [r4, #92]	; 0x5c
407036bc:	e08a1205 	add	r1, sl, r5, lsl #4
407036c0:	e5943040 	ldr	r3, [r4, #64]	; 0x40
407036c4:	e281100c 	add	r1, r1, #12
407036c8:	e022429b 	mla	r2, fp, r2, r4
407036cc:	e2833f8b 	add	r3, r3, #556	; 0x22c
407036d0:	e1a00003 	mov	r0, r3
407036d4:	e592c010 	ldr	ip, [r2, #16]
407036d8:	e3a02000 	mov	r2, #0
407036dc:	e152000c 	cmp	r2, ip
407036e0:	1a000004 	bne	407036f8 <ddr_hw_training+0x1c0>
407036e4:	e3550001 	cmp	r5, #1
407036e8:	13a01000 	movne	r1, #0
407036ec:	1a000008 	bne	40703714 <ddr_hw_training+0x1dc>
407036f0:	e2855001 	add	r5, r5, #1
407036f4:	eaffffae 	b	407035b4 <ddr_hw_training+0x7c>
407036f8:	e490e080 	ldr	lr, [r0], #128	; 0x80
407036fc:	e2822001 	add	r2, r2, #1
40703700:	e5a1e004 	str	lr, [r1, #4]!
40703704:	eafffff4 	b	407036dc <ddr_hw_training+0x1a4>
40703708:	e79a0101 	ldr	r0, [sl, r1, lsl #2]
4070370c:	e2811001 	add	r1, r1, #1
40703710:	e4830080 	str	r0, [r3], #128	; 0x80
40703714:	e1520001 	cmp	r2, r1
40703718:	1afffffa 	bne	40703708 <ddr_hw_training+0x1d0>
4070371c:	eafffff3 	b	407036f0 <ddr_hw_training+0x1b8>
40703720:	e5b8c004 	ldr	ip, [r8, #4]!
40703724:	e5943040 	ldr	r3, [r4, #64]	; 0x40
40703728:	e7e8105c 	ubfx	r1, ip, #0, #9
4070372c:	e5845054 	str	r5, [r4, #84]	; 0x54
40703730:	e5980010 	ldr	r0, [r8, #16]
40703734:	e7e82050 	ubfx	r2, r0, #0, #9
40703738:	e1510002 	cmp	r1, r2
4070373c:	82833f8b 	addhi	r3, r3, #556	; 0x22c
40703740:	92833f8b 	addls	r3, r3, #556	; 0x22c
40703744:	80411002 	subhi	r1, r1, r2
40703748:	90421001 	subls	r1, r2, r1
4070374c:	97830385 	strls	r0, [r3, r5, lsl #7]
40703750:	e1a00004 	mov	r0, r4
40703754:	8783c385 	strhi	ip, [r3, r5, lsl #7]
40703758:	e2855001 	add	r5, r5, #1
4070375c:	8584a060 	strhi	sl, [r4, #96]	; 0x60
40703760:	9584b060 	strls	fp, [r4, #96]	; 0x60
40703764:	ebfffb3b 	bl	40702458 <ddr_rdqs_sync_rank_rdq>
40703768:	eaffffa0 	b	407035f0 <ddr_hw_training+0xb8>
4070376c:	e3a0300c 	mov	r3, #12
40703770:	e28d1010 	add	r1, sp, #16
40703774:	e0235293 	mla	r3, r3, r2, r5
40703778:	e7911102 	ldr	r1, [r1, r2, lsl #2]
4070377c:	e0843003 	add	r3, r4, r3
40703780:	e5930014 	ldr	r0, [r3, #20]
40703784:	ebfff996 	bl	40701de4 <ddr_training_set_timing>
40703788:	e2822001 	add	r2, r2, #1
4070378c:	eaffffa3 	b	40703620 <ddr_hw_training+0xe8>

40703790 <ddr_vref_training>:
40703790:	e92d45f0 	push	{r4, r5, r6, r7, r8, sl, lr}
40703794:	e1a04000 	mov	r4, r0
40703798:	e5903060 	ldr	r3, [r0, #96]	; 0x60
4070379c:	e24ddf57 	sub	sp, sp, #348	; 0x15c
407037a0:	e5902040 	ldr	r2, [r0, #64]	; 0x40
407037a4:	e28d5004 	add	r5, sp, #4
407037a8:	e590e064 	ldr	lr, [r0, #100]	; 0x64
407037ac:	e1a0c503 	lsl	ip, r3, #10
407037b0:	e2823f87 	add	r3, r2, #540	; 0x21c
407037b4:	e082100c 	add	r1, r2, ip
407037b8:	e083300c 	add	r3, r3, ip
407037bc:	e594c05c 	ldr	ip, [r4, #92]	; 0x5c
407037c0:	e3a0203c 	mov	r2, #60	; 0x3c
407037c4:	e1a0640e 	lsl	r6, lr, #8
407037c8:	e0860001 	add	r0, r6, r1
407037cc:	e2811e21 	add	r1, r1, #528	; 0x210
407037d0:	e00c0c92 	mul	ip, r2, ip
407037d4:	e3a0200c 	mov	r2, #12
407037d8:	e022ce92 	mla	r2, r2, lr, ip
407037dc:	e2800e21 	add	r0, r0, #528	; 0x210
407037e0:	e0833006 	add	r3, r3, r6
407037e4:	e0842002 	add	r2, r4, r2
407037e8:	e5922018 	ldr	r2, [r2, #24]
407037ec:	e082e08e 	add	lr, r2, lr, lsl #1
407037f0:	e1a02005 	mov	r2, r5
407037f4:	e081138e 	add	r1, r1, lr, lsl #7
407037f8:	e1510000 	cmp	r1, r0
407037fc:	1a00002e 	bne	407038bc <ddr_vref_training+0x12c>
40703800:	e3a02f41 	mov	r2, #260	; 0x104
40703804:	e3a01000 	mov	r1, #0
40703808:	e28d0054 	add	r0, sp, #84	; 0x54
4070380c:	ebfff8fc 	bl	40701c04 <ddrtr_memset>
40703810:	e5943050 	ldr	r3, [r4, #80]	; 0x50
40703814:	e3530001 	cmp	r3, #1
40703818:	03a06000 	moveq	r6, #0
4070381c:	03a0700c 	moveq	r7, #12
40703820:	03a0803c 	moveq	r8, #60	; 0x3c
40703824:	0a00003d 	beq	40703920 <ddr_vref_training+0x190>
40703828:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
4070382c:	e3a0203c 	mov	r2, #60	; 0x3c
40703830:	e5941060 	ldr	r1, [r4, #96]	; 0x60
40703834:	e0234392 	mla	r3, r2, r3, r4
40703838:	e5932004 	ldr	r2, [r3, #4]
4070383c:	e5943044 	ldr	r3, [r4, #68]	; 0x44
40703840:	e2833060 	add	r3, r3, #96	; 0x60
40703844:	e7937101 	ldr	r7, [r3, r1, lsl #2]
40703848:	e2423006 	sub	r3, r2, #6
4070384c:	e3d33004 	bics	r3, r3, #4
40703850:	1a00004b 	bne	40703984 <ddr_vref_training+0x1f4>
40703854:	e3520006 	cmp	r2, #6
40703858:	e3a06000 	mov	r6, #0
4070385c:	17e17557 	ubfxne	r7, r7, #10, #2
40703860:	e3a0800c 	mov	r8, #12
40703864:	03a07001 	moveq	r7, #1
40703868:	e3a0a03c 	mov	sl, #60	; 0x3c
4070386c:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40703870:	e5942064 	ldr	r2, [r4, #100]	; 0x64
40703874:	e003039a 	mul	r3, sl, r3
40703878:	e0233298 	mla	r3, r8, r2, r3
4070387c:	e0843003 	add	r3, r4, r3
40703880:	e5933018 	ldr	r3, [r3, #24]
40703884:	e1530006 	cmp	r3, r6
40703888:	9a00002c 	bls	40703940 <ddr_vref_training+0x1b0>
4070388c:	e3570001 	cmp	r7, #1
40703890:	e0862082 	add	r2, r6, r2, lsl #1
40703894:	e5842054 	str	r2, [r4, #84]	; 0x54
40703898:	1a000002 	bne	407038a8 <ddr_vref_training+0x118>
4070389c:	e3c63002 	bic	r3, r6, #2
407038a0:	e3530001 	cmp	r3, #1
407038a4:	0a000002 	beq	407038b4 <ddr_vref_training+0x124>
407038a8:	e28d1054 	add	r1, sp, #84	; 0x54
407038ac:	e1a00004 	mov	r0, r4
407038b0:	ebfffd1b 	bl	40702d24 <ddr_vref_cal>
407038b4:	e2866001 	add	r6, r6, #1
407038b8:	eaffffeb 	b	4070386c <ddr_vref_training+0xdc>
407038bc:	e594c050 	ldr	ip, [r4, #80]	; 0x50
407038c0:	e2800080 	add	r0, r0, #128	; 0x80
407038c4:	e2822004 	add	r2, r2, #4
407038c8:	e2833080 	add	r3, r3, #128	; 0x80
407038cc:	e35c0002 	cmp	ip, #2
407038d0:	0510c080 	ldreq	ip, [r0, #-128]	; 0xffffff80
407038d4:	1513c080 	ldrne	ip, [r3, #-128]	; 0xffffff80
407038d8:	0502c004 	streq	ip, [r2, #-4]
407038dc:	0510c07c 	ldreq	ip, [r0, #-124]	; 0xffffff84
407038e0:	1502c004 	strne	ip, [r2, #-4]
407038e4:	1513c07c 	ldrne	ip, [r3, #-124]	; 0xffffff84
407038e8:	0582c00c 	streq	ip, [r2, #12]
407038ec:	0510c078 	ldreq	ip, [r0, #-120]	; 0xffffff88
407038f0:	1582c00c 	strne	ip, [r2, #12]
407038f4:	0582c03c 	streq	ip, [r2, #60]	; 0x3c
407038f8:	eaffffbe 	b	407037f8 <ddr_vref_training+0x68>
407038fc:	e0862082 	add	r2, r6, r2, lsl #1
40703900:	e5842054 	str	r2, [r4, #84]	; 0x54
40703904:	e3c22002 	bic	r2, r2, #2
40703908:	e3520001 	cmp	r2, #1
4070390c:	0a000002 	beq	4070391c <ddr_vref_training+0x18c>
40703910:	e28d1054 	add	r1, sp, #84	; 0x54
40703914:	e1a00004 	mov	r0, r4
40703918:	ebfffd01 	bl	40702d24 <ddr_vref_cal>
4070391c:	e2866001 	add	r6, r6, #1
40703920:	e594305c 	ldr	r3, [r4, #92]	; 0x5c
40703924:	e5942064 	ldr	r2, [r4, #100]	; 0x64
40703928:	e0030398 	mul	r3, r8, r3
4070392c:	e0233297 	mla	r3, r7, r2, r3
40703930:	e0843003 	add	r3, r4, r3
40703934:	e5933018 	ldr	r3, [r3, #24]
40703938:	e1530006 	cmp	r3, r6
4070393c:	8affffee 	bhi	407038fc <ddr_vref_training+0x16c>
40703940:	e5943060 	ldr	r3, [r4, #96]	; 0x60
40703944:	e3a01000 	mov	r1, #0
40703948:	e5940040 	ldr	r0, [r4, #64]	; 0x40
4070394c:	e3a0c00c 	mov	ip, #12
40703950:	e3a0e03c 	mov	lr, #60	; 0x3c
40703954:	e0800503 	add	r0, r0, r3, lsl #10
40703958:	e594205c 	ldr	r2, [r4, #92]	; 0x5c
4070395c:	e5943064 	ldr	r3, [r4, #100]	; 0x64
40703960:	e002029e 	mul	r2, lr, r2
40703964:	e022239c 	mla	r2, ip, r3, r2
40703968:	e0842002 	add	r2, r4, r2
4070396c:	e5922018 	ldr	r2, [r2, #24]
40703970:	e1510002 	cmp	r1, r2
40703974:	3a000005 	bcc	40703990 <ddr_vref_training+0x200>
40703978:	e28d1054 	add	r1, sp, #84	; 0x54
4070397c:	e1a00004 	mov	r0, r4
40703980:	eb000104 	bl	40703d98 <ddr_result_data_save>
40703984:	e3a00000 	mov	r0, #0
40703988:	e28ddf57 	add	sp, sp, #348	; 0x15c
4070398c:	e8bd85f0 	pop	{r4, r5, r6, r7, r8, sl, pc}
40703990:	e5942050 	ldr	r2, [r4, #80]	; 0x50
40703994:	e0813083 	add	r3, r1, r3, lsl #1
40703998:	e2855004 	add	r5, r5, #4
4070399c:	e2811001 	add	r1, r1, #1
407039a0:	e3520002 	cmp	r2, #2
407039a4:	e1a03383 	lsl	r3, r3, #7
407039a8:	e5152004 	ldr	r2, [r5, #-4]
407039ac:	e0833000 	add	r3, r3, r0
407039b0:	05832210 	streq	r2, [r3, #528]	; 0x210
407039b4:	0595200c 	ldreq	r2, [r5, #12]
407039b8:	1583221c 	strne	r2, [r3, #540]	; 0x21c
407039bc:	1595200c 	ldrne	r2, [r5, #12]
407039c0:	05832214 	streq	r2, [r3, #532]	; 0x214
407039c4:	0595203c 	ldreq	r2, [r5, #60]	; 0x3c
407039c8:	15832220 	strne	r2, [r3, #544]	; 0x220
407039cc:	05832218 	streq	r2, [r3, #536]	; 0x218
407039d0:	eaffffe0 	b	40703958 <ddr_vref_training+0x1c8>

407039d4 <ddr_vref_training_func>:
407039d4:	e92d4030 	push	{r4, r5, lr}
407039d8:	e24dd03c 	sub	sp, sp, #60	; 0x3c
407039dc:	e1a04000 	mov	r4, r0
407039e0:	e3a02401 	mov	r2, #16777216	; 0x1000000
407039e4:	e1a0100d 	mov	r1, sp
407039e8:	ebfffa06 	bl	40702208 <ddr_training_save_reg>
407039ec:	e1a00004 	mov	r0, r4
407039f0:	ebfff9de 	bl	40702170 <ddr_training_switch_axi>
407039f4:	e3a01002 	mov	r1, #2
407039f8:	e1a00004 	mov	r0, r4
407039fc:	ebfffb13 	bl	40702650 <ddr_ddrt_init>
40703a00:	e5942048 	ldr	r2, [r4, #72]	; 0x48
40703a04:	e3a03001 	mov	r3, #1
40703a08:	e584306c 	str	r3, [r4, #108]	; 0x6c
40703a0c:	e3120401 	tst	r2, #16777216	; 0x1000000
40703a10:	0a000009 	beq	40703a3c <ddr_vref_training_func+0x68>
40703a14:	e3a05000 	mov	r5, #0
40703a18:	e5943048 	ldr	r3, [r4, #72]	; 0x48
40703a1c:	e3130402 	tst	r3, #33554432	; 0x2000000
40703a20:	0a00000a 	beq	40703a50 <ddr_vref_training_func+0x7c>
40703a24:	e1a00004 	mov	r0, r4
40703a28:	e1a0100d 	mov	r1, sp
40703a2c:	ebfffa32 	bl	407022fc <ddr_training_restore_reg>
40703a30:	e1a00005 	mov	r0, r5
40703a34:	e28dd03c 	add	sp, sp, #60	; 0x3c
40703a38:	e8bd8030 	pop	{r4, r5, pc}
40703a3c:	e5843050 	str	r3, [r4, #80]	; 0x50
40703a40:	e1a00004 	mov	r0, r4
40703a44:	ebffff51 	bl	40703790 <ddr_vref_training>
40703a48:	e1a05000 	mov	r5, r0
40703a4c:	eafffff1 	b	40703a18 <ddr_vref_training_func+0x44>
40703a50:	e3a03002 	mov	r3, #2
40703a54:	e1a00004 	mov	r0, r4
40703a58:	e5843050 	str	r3, [r4, #80]	; 0x50
40703a5c:	ebffff4b 	bl	40703790 <ddr_vref_training>
40703a60:	e0855000 	add	r5, r5, r0
40703a64:	eaffffee 	b	40703a24 <ddr_vref_training_func+0x50>

40703a68 <ddr_wl_func>:
40703a68:	e3a00000 	mov	r0, #0
40703a6c:	e12fff1e 	bx	lr

40703a70 <ddr_gating_func>:
40703a70:	e3a00000 	mov	r0, #0
40703a74:	e12fff1e 	bx	lr

40703a78 <ddr_ac_training_func>:
40703a78:	e3a00000 	mov	r0, #0
40703a7c:	e12fff1e 	bx	lr

40703a80 <ddr_lpca_training_func>:
40703a80:	e3a00000 	mov	r0, #0
40703a84:	e12fff1e 	bx	lr

40703a88 <ddr_dcc_training_func>:
40703a88:	e3a00000 	mov	r0, #0
40703a8c:	e12fff1e 	bx	lr

40703a90 <ddr_pcode_training>:
40703a90:	e92d4df0 	push	{r4, r5, r6, r7, r8, sl, fp, lr}
40703a94:	e3a07000 	mov	r7, #0
40703a98:	e59fb13c 	ldr	fp, [pc, #316]	; 40703bdc <ddr_pcode_training+0x14c>
40703a9c:	e24dd040 	sub	sp, sp, #64	; 0x40
40703aa0:	e1a06000 	mov	r6, r0
40703aa4:	e1a0a000 	mov	sl, r0
40703aa8:	e1a08007 	mov	r8, r7
40703aac:	e596203c 	ldr	r2, [r6, #60]	; 0x3c
40703ab0:	e1520007 	cmp	r2, r7
40703ab4:	8a000002 	bhi	40703ac4 <ddr_pcode_training+0x34>
40703ab8:	e1a00008 	mov	r0, r8
40703abc:	e28dd040 	add	sp, sp, #64	; 0x40
40703ac0:	e8bd8df0 	pop	{r4, r5, r6, r7, r8, sl, fp, pc}
40703ac4:	e586705c 	str	r7, [r6, #92]	; 0x5c
40703ac8:	e3a05001 	mov	r5, #1
40703acc:	e59a2000 	ldr	r2, [sl]
40703ad0:	e1a05715 	lsl	r5, r5, r7
40703ad4:	e3855701 	orr	r5, r5, #262144	; 0x40000
40703ad8:	e5862040 	str	r2, [r6, #64]	; 0x40
40703adc:	e59a202c 	ldr	r2, [sl, #44]	; 0x2c
40703ae0:	e0155002 	ands	r5, r5, r2
40703ae4:	e5862048 	str	r2, [r6, #72]	; 0x48
40703ae8:	1a000038 	bne	40703bd0 <ddr_pcode_training+0x140>
40703aec:	e3a02701 	mov	r2, #262144	; 0x40000
40703af0:	e28d1008 	add	r1, sp, #8
40703af4:	e1a00006 	mov	r0, r6
40703af8:	ebfff9c2 	bl	40702208 <ddr_training_save_reg>
40703afc:	e5964040 	ldr	r4, [r6, #64]	; 0x40
40703b00:	e301104c 	movw	r1, #4172	; 0x104c
40703b04:	e59fc0d4 	ldr	ip, [pc, #212]	; 40703be0 <ddr_pcode_training+0x150>
40703b08:	e0840001 	add	r0, r4, r1
40703b0c:	e7942001 	ldr	r2, [r4, r1]
40703b10:	e3822001 	orr	r2, r2, #1
40703b14:	e7842001 	str	r2, [r4, r1]
40703b18:	e590e000 	ldr	lr, [r0]
40703b1c:	e2855001 	add	r5, r5, #1
40703b20:	e155000c 	cmp	r5, ip
40703b24:	83a02000 	movhi	r2, #0
40703b28:	93a02001 	movls	r2, #1
40703b2c:	e1d227ae 	bics	r2, r2, lr, lsr #15
40703b30:	1afffff8 	bne	40703b18 <ddr_pcode_training+0x88>
40703b34:	e155000c 	cmp	r5, ip
40703b38:	e58d2004 	str	r2, [sp, #4]
40703b3c:	83e02000 	mvnhi	r2, #0
40703b40:	8a00001e 	bhi	40703bc0 <ddr_pcode_training+0x130>
40703b44:	e7945001 	ldr	r5, [r4, r1]
40703b48:	e7940001 	ldr	r0, [r4, r1]
40703b4c:	e3c00001 	bic	r0, r0, #1
40703b50:	e7840001 	str	r0, [r4, r1]
40703b54:	eb0000c1 	bl	40703e60 <ddr_get_cksel>
40703b58:	e1a05825 	lsr	r5, r5, #16
40703b5c:	e3a01059 	mov	r1, #89	; 0x59
40703b60:	e59f307c 	ldr	r3, [pc, #124]	; 40703be4 <ddr_pcode_training+0x154>
40703b64:	e0010591 	mul	r1, r1, r5
40703b68:	e59d2004 	ldr	r2, [sp, #4]
40703b6c:	e0000190 	mul	r0, r0, r1
40703b70:	e0810390 	umull	r0, r1, r0, r3
40703b74:	e59f006c 	ldr	r0, [pc, #108]	; 40703be8 <ddr_pcode_training+0x158>
40703b78:	e04002a1 	sub	r0, r0, r1, lsr #5
40703b7c:	e0810b90 	umull	r0, r1, r0, fp
40703b80:	e1a016a1 	lsr	r1, r1, #13
40703b84:	e351003f 	cmp	r1, #63	; 0x3f
40703b88:	31a00001 	movcc	r0, r1
40703b8c:	e5941028 	ldr	r1, [r4, #40]	; 0x28
40703b90:	23a0003f 	movcs	r0, #63	; 0x3f
40703b94:	e3c1183f 	bic	r1, r1, #4128768	; 0x3f0000
40703b98:	e1811800 	orr	r1, r1, r0, lsl #16
40703b9c:	e5841028 	str	r1, [r4, #40]	; 0x28
40703ba0:	e594c170 	ldr	ip, [r4, #368]	; 0x170
40703ba4:	e3cc1c01 	bic	r1, ip, #256	; 0x100
40703ba8:	e5841170 	str	r1, [r4, #368]	; 0x170
40703bac:	e5941174 	ldr	r1, [r4, #372]	; 0x174
40703bb0:	e3c1143f 	bic	r1, r1, #1056964608	; 0x3f000000
40703bb4:	e1811c00 	orr	r1, r1, r0, lsl #24
40703bb8:	e5841174 	str	r1, [r4, #372]	; 0x174
40703bbc:	e584c170 	str	ip, [r4, #368]	; 0x170
40703bc0:	e28d1008 	add	r1, sp, #8
40703bc4:	e1a00006 	mov	r0, r6
40703bc8:	e0888002 	add	r8, r8, r2
40703bcc:	ebfff9ca 	bl	407022fc <ddr_training_restore_reg>
40703bd0:	e2877001 	add	r7, r7, #1
40703bd4:	e28aa03c 	add	sl, sl, #60	; 0x3c
40703bd8:	eaffffb3 	b	40703aac <ddr_pcode_training+0x1c>
40703bdc:	d1b71759 	.word	0xd1b71759
40703be0:	000f423f 	.word	0x000f423f
40703be4:	1b4e81b5 	.word	0x1b4e81b5
40703be8:	00077dd0 	.word	0x00077dd0

40703bec <ddr_training_console_if>:
40703bec:	e3a00000 	mov	r0, #0
40703bf0:	e12fff1e 	bx	lr

40703bf4 <ddr_training_boot_func>:
40703bf4:	e92d4030 	push	{r4, r5, lr}
40703bf8:	e1a04000 	mov	r4, r0
40703bfc:	e5901040 	ldr	r1, [r0, #64]	; 0x40
40703c00:	e24dd03c 	sub	sp, sp, #60	; 0x3c
40703c04:	e5913008 	ldr	r3, [r1, #8]
40703c08:	e3130020 	tst	r3, #32
40703c0c:	0a000003 	beq	40703c20 <ddr_training_boot_func+0x2c>
40703c10:	e3e03000 	mvn	r3, #0
40703c14:	e3a00002 	mov	r0, #2
40703c18:	e1a02003 	mov	r2, r3
40703c1c:	ebfff8ea 	bl	40701fcc <ddr_training_stat>
40703c20:	e1a00004 	mov	r0, r4
40703c24:	ebffff95 	bl	40703a80 <ddr_lpca_training_func>
40703c28:	e1a05000 	mov	r5, r0
40703c2c:	e1a00004 	mov	r0, r4
40703c30:	ebffff8c 	bl	40703a68 <ddr_wl_func>
40703c34:	e0855000 	add	r5, r5, r0
40703c38:	e1a00004 	mov	r0, r4
40703c3c:	ebfffd25 	bl	407030d8 <ddr_dataeye_training_func>
40703c40:	e0955000 	adds	r5, r5, r0
40703c44:	0a000013 	beq	40703c98 <ddr_training_boot_func+0xa4>
40703c48:	e3a01601 	mov	r1, #1048576	; 0x100000
40703c4c:	e1a00004 	mov	r0, r4
40703c50:	ebfff93f 	bl	40702154 <ddr_training_check_bypass>
40703c54:	e3500000 	cmp	r0, #0
40703c58:	1a00000e 	bne	40703c98 <ddr_training_boot_func+0xa4>
40703c5c:	e3a02601 	mov	r2, #1048576	; 0x100000
40703c60:	e1a0100d 	mov	r1, sp
40703c64:	e1a00004 	mov	r0, r4
40703c68:	ebfff966 	bl	40702208 <ddr_training_save_reg>
40703c6c:	e1a00004 	mov	r0, r4
40703c70:	ebfffd33 	bl	40703144 <ddr_hw_dataeye_read>
40703c74:	e1a0100d 	mov	r1, sp
40703c78:	e1a05000 	mov	r5, r0
40703c7c:	e1a00004 	mov	r0, r4
40703c80:	ebfff99d 	bl	407022fc <ddr_training_restore_reg>
40703c84:	e3a03001 	mov	r3, #1
40703c88:	e1a00004 	mov	r0, r4
40703c8c:	e5843068 	str	r3, [r4, #104]	; 0x68
40703c90:	ebfffcf5 	bl	4070306c <ddr_dataeye_training>
40703c94:	e0855000 	add	r5, r5, r0
40703c98:	e1a00004 	mov	r0, r4
40703c9c:	ebffff73 	bl	40703a70 <ddr_gating_func>
40703ca0:	e0855000 	add	r5, r5, r0
40703ca4:	e1a00004 	mov	r0, r4
40703ca8:	ebffff49 	bl	407039d4 <ddr_vref_training_func>
40703cac:	e0850000 	add	r0, r5, r0
40703cb0:	e28dd03c 	add	sp, sp, #60	; 0x3c
40703cb4:	e8bd8030 	pop	{r4, r5, pc}

40703cb8 <ddr_sw_training_func>:
40703cb8:	e59f2088 	ldr	r2, [pc, #136]	; 40703d48 <ddr_sw_training_func+0x90>
40703cbc:	e92d4030 	push	{r4, r5, lr}
40703cc0:	e24dd07c 	sub	sp, sp, #124	; 0x7c
40703cc4:	e59230b4 	ldr	r3, [r2, #180]	; 0xb4
40703cc8:	e1a04002 	mov	r4, r2
40703ccc:	e1a03823 	lsr	r3, r3, #16
40703cd0:	e1a03803 	lsl	r3, r3, #16
40703cd4:	e3833f85 	orr	r3, r3, #532	; 0x214
40703cd8:	e58230b4 	str	r3, [r2, #180]	; 0xb4
40703cdc:	e59230a0 	ldr	r3, [r2, #160]	; 0xa0
40703ce0:	e3730001 	cmn	r3, #1
40703ce4:	1a000003 	bne	40703cf8 <ddr_sw_training_func+0x40>
40703ce8:	e59230a4 	ldr	r3, [r2, #164]	; 0xa4
40703cec:	e3730001 	cmn	r3, #1
40703cf0:	03a04000 	moveq	r4, #0
40703cf4:	0a00000d 	beq	40703d30 <ddr_sw_training_func+0x78>
40703cf8:	eb00002c 	bl	40703db0 <ddr_training_start>
40703cfc:	e3a05000 	mov	r5, #0
40703d00:	e1a0000d 	mov	r0, sp
40703d04:	e58450b0 	str	r5, [r4, #176]	; 0xb0
40703d08:	ebfffa44 	bl	40702620 <ddr_training_cfg_init>
40703d0c:	e1a0000d 	mov	r0, sp
40703d10:	e58d5070 	str	r5, [sp, #112]	; 0x70
40703d14:	ebfff805 	bl	40701d30 <ddr_training_all>
40703d18:	e1a04000 	mov	r4, r0
40703d1c:	e1a0000d 	mov	r0, sp
40703d20:	ebffff58 	bl	40703a88 <ddr_dcc_training_func>
40703d24:	e0944000 	adds	r4, r4, r0
40703d28:	1a000003 	bne	40703d3c <ddr_sw_training_func+0x84>
40703d2c:	eb00001e 	bl	40703dac <ddr_training_suc>
40703d30:	e1a00004 	mov	r0, r4
40703d34:	e28dd07c 	add	sp, sp, #124	; 0x7c
40703d38:	e8bd8030 	pop	{r4, r5, pc}
40703d3c:	e1a00005 	mov	r0, r5
40703d40:	ebffffa9 	bl	40703bec <ddr_training_console_if>
40703d44:	eafffff9 	b	40703d30 <ddr_sw_training_func+0x78>
40703d48:	12020000 	.word	0x12020000

40703d4c <ddr_pcode_training_func>:
40703d4c:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
40703d50:	e24dd07c 	sub	sp, sp, #124	; 0x7c
40703d54:	e1a0000d 	mov	r0, sp
40703d58:	ebfffa30 	bl	40702620 <ddr_training_cfg_init>
40703d5c:	e1a0000d 	mov	r0, sp
40703d60:	ebffff4a 	bl	40703a90 <ddr_pcode_training>
40703d64:	e28dd07c 	add	sp, sp, #124	; 0x7c
40703d68:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)

40703d6c <ddr_hw_training_func>:
40703d6c:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
40703d70:	e24dd07c 	sub	sp, sp, #124	; 0x7c
40703d74:	e1a0000d 	mov	r0, sp
40703d78:	ebfffa28 	bl	40702620 <ddr_training_cfg_init>
40703d7c:	e1a0000d 	mov	r0, sp
40703d80:	ebfffdec 	bl	40703538 <ddr_hw_training>
40703d84:	e28dd07c 	add	sp, sp, #124	; 0x7c
40703d88:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)

40703d8c <ddr_sw_training_if>:
40703d8c:	eaffffc9 	b	40703cb8 <ddr_sw_training_func>

40703d90 <ddr_hw_training_if>:
40703d90:	eafffff5 	b	40703d6c <ddr_hw_training_func>

40703d94 <ddr_pcode_training_if>:
40703d94:	eaffffec 	b	40703d4c <ddr_pcode_training_func>

40703d98 <ddr_result_data_save>:
40703d98:	e12fff1e 	bx	lr

40703d9c <ddr_lpca_data_save>:
40703d9c:	e12fff1e 	bx	lr

40703da0 <ddr_ddrt_get_test_addr>:
40703da0:	e3a00101 	mov	r0, #1073741824	; 0x40000000
40703da4:	e12fff1e 	bx	lr

40703da8 <ddr_training_error>:
40703da8:	e12fff1e 	bx	lr

40703dac <ddr_training_suc>:
40703dac:	e12fff1e 	bx	lr

40703db0 <ddr_training_start>:
40703db0:	e12fff1e 	bx	lr

40703db4 <ddr_cmd_prepare_copy>:
40703db4:	e12fff1e 	bx	lr

40703db8 <ddr_cmd_site_save>:
40703db8:	e59f2038 	ldr	r2, [pc, #56]	; 40703df8 <ddr_cmd_site_save+0x40>
40703dbc:	e59f1038 	ldr	r1, [pc, #56]	; 40703dfc <ddr_cmd_site_save+0x44>
40703dc0:	e5923010 	ldr	r3, [r2, #16]
40703dc4:	e581301c 	str	r3, [r1, #28]
40703dc8:	e3c33020 	bic	r3, r3, #32
40703dcc:	e5823010 	str	r3, [r2, #16]
40703dd0:	e59f3028 	ldr	r3, [pc, #40]	; 40703e00 <ddr_cmd_site_save+0x48>
40703dd4:	e5932198 	ldr	r2, [r3, #408]	; 0x198
40703dd8:	e5812020 	str	r2, [r1, #32]
40703ddc:	e3822002 	orr	r2, r2, #2
40703de0:	e5832198 	str	r2, [r3, #408]	; 0x198
40703de4:	e320f000 	nop	{0}
40703de8:	e5932198 	ldr	r2, [r3, #408]	; 0x198
40703dec:	e3c22001 	bic	r2, r2, #1
40703df0:	e5832198 	str	r2, [r3, #408]	; 0x198
40703df4:	e12fff1e 	bx	lr
40703df8:	12028000 	.word	0x12028000
40703dfc:	4073b410 	.word	0x4073b410
40703e00:	12010000 	.word	0x12010000

40703e04 <ddr_cmd_site_restore>:
40703e04:	e59f3018 	ldr	r3, [pc, #24]	; 40703e24 <ddr_cmd_site_restore+0x20>
40703e08:	e59f2018 	ldr	r2, [pc, #24]	; 40703e28 <ddr_cmd_site_restore+0x24>
40703e0c:	e593101c 	ldr	r1, [r3, #28]
40703e10:	e5821010 	str	r1, [r2, #16]
40703e14:	e5932020 	ldr	r2, [r3, #32]
40703e18:	e59f300c 	ldr	r3, [pc, #12]	; 40703e2c <ddr_cmd_site_restore+0x28>
40703e1c:	e5832198 	str	r2, [r3, #408]	; 0x198
40703e20:	e12fff1e 	bx	lr
40703e24:	4073b410 	.word	0x4073b410
40703e28:	12028000 	.word	0x12028000
40703e2c:	12010000 	.word	0x12010000

40703e30 <ddr_training_save_reg_custom>:
40703e30:	e59f2010 	ldr	r2, [pc, #16]	; 40703e48 <ddr_training_save_reg_custom+0x18>
40703e34:	e59230b0 	ldr	r3, [r2, #176]	; 0xb0
40703e38:	e5803024 	str	r3, [r0, #36]	; 0x24
40703e3c:	e3c33102 	bic	r3, r3, #-2147483648	; 0x80000000
40703e40:	e58230b0 	str	r3, [r2, #176]	; 0xb0
40703e44:	e12fff1e 	bx	lr
40703e48:	120dc000 	.word	0x120dc000

40703e4c <ddr_training_restore_reg_custom>:
40703e4c:	e5902024 	ldr	r2, [r0, #36]	; 0x24
40703e50:	e59f3004 	ldr	r3, [pc, #4]	; 40703e5c <ddr_training_restore_reg_custom+0x10>
40703e54:	e58320b0 	str	r2, [r3, #176]	; 0xb0
40703e58:	e12fff1e 	bx	lr
40703e5c:	120dc000 	.word	0x120dc000

40703e60 <ddr_get_cksel>:
40703e60:	e59f3024 	ldr	r3, [pc, #36]	; 40703e8c <ddr_get_cksel+0x2c>
40703e64:	e5933080 	ldr	r3, [r3, #128]	; 0x80
40703e68:	e7e231d3 	ubfx	r3, r3, #3, #3
40703e6c:	e3530000 	cmp	r3, #0
40703e70:	0a000003 	beq	40703e84 <ddr_get_cksel+0x24>
40703e74:	e3530001 	cmp	r3, #1
40703e78:	e30001c2 	movw	r0, #450	; 0x1c2
40703e7c:	13a00f4b 	movne	r0, #300	; 0x12c
40703e80:	e12fff1e 	bx	lr
40703e84:	e3a00018 	mov	r0, #24
40703e88:	e12fff1e 	bx	lr
40703e8c:	12010000 	.word	0x12010000

40703e90 <uart_early_init>:
40703e90:	e59f3028 	ldr	r3, [pc, #40]	; 40703ec0 <uart_base_addr_L0>
40703e94:	e3a02000 	mov	r2, #0
40703e98:	e5832030 	str	r2, [r3, #48]	; 0x30
40703e9c:	e282200d 	add	r2, r2, #13
40703ea0:	e5832024 	str	r2, [r3, #36]	; 0x24
40703ea4:	e3a02001 	mov	r2, #1
40703ea8:	e5832028 	str	r2, [r3, #40]	; 0x28
40703eac:	e3a02070 	mov	r2, #112	; 0x70
40703eb0:	e583202c 	str	r2, [r3, #44]	; 0x2c
40703eb4:	e59f2098 	ldr	r2, [pc, #152]	; 40703f54 <uart_base_addr_L3+0x4>
40703eb8:	e5832030 	str	r2, [r3, #48]	; 0x30
40703ebc:	e12fff1e 	bx	lr

40703ec0 <uart_base_addr_L0>:
40703ec0:	12040000 	.word	0x12040000

40703ec4 <uart_early_puts>:
40703ec4:	e59f1024 	ldr	r1, [pc, #36]	; 40703ef0 <uart_base_addr_L1>
40703ec8:	ea000004 	b	40703ee0 <next_char>

40703ecc <output>:
40703ecc:	e5913018 	ldr	r3, [r1, #24]
40703ed0:	e3130020 	tst	r3, #32
40703ed4:	1afffffc 	bne	40703ecc <output>
40703ed8:	e5812000 	str	r2, [r1]
40703edc:	e2800001 	add	r0, r0, #1

40703ee0 <next_char>:
40703ee0:	e5d02000 	ldrb	r2, [r0]
40703ee4:	e3520000 	cmp	r2, #0
40703ee8:	1afffff7 	bne	40703ecc <output>
40703eec:	e12fff1e 	bx	lr

40703ef0 <uart_base_addr_L1>:
40703ef0:	12040000 	.word	0x12040000

40703ef4 <uart_early_put_hex>:
40703ef4:	e59f1038 	ldr	r1, [pc, #56]	; 40703f34 <uart_base_addr_L2>
40703ef8:	e3a0201c 	mov	r2, #28

40703efc <wait2>:
40703efc:	e5913018 	ldr	r3, [r1, #24]
40703f00:	e3130020 	tst	r3, #32
40703f04:	1afffffc 	bne	40703efc <wait2>
40703f08:	e3a0300f 	mov	r3, #15
40703f0c:	e0033230 	and	r3, r3, r0, lsr r2
40703f10:	e3530009 	cmp	r3, #9
40703f14:	d2833030 	addle	r3, r3, #48	; 0x30
40703f18:	c2833037 	addgt	r3, r3, #55	; 0x37
40703f1c:	e5813000 	str	r3, [r1]
40703f20:	e3520000 	cmp	r2, #0
40703f24:	0a000001 	beq	40703f30 <exit2>
40703f28:	e2422004 	sub	r2, r2, #4
40703f2c:	eafffff2 	b	40703efc <wait2>

40703f30 <exit2>:
40703f30:	e12fff1e 	bx	lr

40703f34 <uart_base_addr_L2>:
40703f34:	12040000 	.word	0x12040000

40703f38 <uart_early_putc>:
40703f38:	e59f1010 	ldr	r1, [pc, #16]	; 40703f50 <uart_base_addr_L3>

40703f3c <wait3>:
40703f3c:	e5913018 	ldr	r3, [r1, #24]
40703f40:	e3130020 	tst	r3, #32
40703f44:	1afffffc 	bne	40703f3c <wait3>
40703f48:	e5810000 	str	r0, [r1]
40703f4c:	e12fff1e 	bx	lr

40703f50 <uart_base_addr_L3>:
40703f50:	12040000 	.word	0x12040000
40703f54:	00000301 	.word	0x00000301

40703f58 <__div0>:
40703f58:	ea00013c 	b	40704450 <hang>

40703f5c <sdhci_check_int_status>:
40703f5c:	e59f2040 	ldr	r2, [pc, #64]	; 40703fa4 <sdhci_check_int_status+0x48>
40703f60:	e59fc040 	ldr	ip, [pc, #64]	; 40703fa8 <sdhci_check_int_status+0x4c>
40703f64:	e5923030 	ldr	r3, [r2, #48]	; 0x30
40703f68:	e1100003 	tst	r0, r3
40703f6c:	1a000008 	bne	40703f94 <sdhci_check_int_status+0x38>
40703f70:	e2511001 	subs	r1, r1, #1
40703f74:	0a000008 	beq	40703f9c <sdhci_check_int_status+0x40>
40703f78:	e113000c 	tst	r3, ip
40703f7c:	1a000006 	bne	40703f9c <sdhci_check_int_status+0x40>
40703f80:	e3023711 	movw	r3, #10001	; 0x2711
40703f84:	e2533001 	subs	r3, r3, #1
40703f88:	0afffff5 	beq	40703f64 <sdhci_check_int_status+0x8>
40703f8c:	e320f000 	nop	{0}
40703f90:	eafffffb 	b	40703f84 <sdhci_check_int_status+0x28>
40703f94:	e3a00000 	mov	r0, #0
40703f98:	e12fff1e 	bx	lr
40703f9c:	e3e00000 	mvn	r0, #0
40703fa0:	e12fff1e 	bx	lr
40703fa4:	10010000 	.word	0x10010000
40703fa8:	ffff8000 	.word	0xffff8000

40703fac <sdhci_read_boot_data>:
40703fac:	e3510a06 	cmp	r1, #24576	; 0x6000
40703fb0:	8a000009 	bhi	40703fdc <sdhci_read_boot_data+0x30>
40703fb4:	e3c11003 	bic	r1, r1, #3
40703fb8:	e59f30ac 	ldr	r3, [pc, #172]	; 4070406c <sdhci_read_boot_data+0xc0>
40703fbc:	e0801001 	add	r1, r0, r1
40703fc0:	e1500001 	cmp	r0, r1
40703fc4:	1a000001 	bne	40703fd0 <sdhci_read_boot_data+0x24>
40703fc8:	e3a00000 	mov	r0, #0
40703fcc:	e12fff1e 	bx	lr
40703fd0:	e4932004 	ldr	r2, [r3], #4
40703fd4:	e4802004 	str	r2, [r0], #4
40703fd8:	eafffff8 	b	40703fc0 <sdhci_read_boot_data+0x14>
40703fdc:	e59f3088 	ldr	r3, [pc, #136]	; 4070406c <sdhci_read_boot_data+0xc0>
40703fe0:	e2402004 	sub	r2, r0, #4
40703fe4:	e59fc084 	ldr	ip, [pc, #132]	; 40704070 <sdhci_read_boot_data+0xc4>
40703fe8:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
40703fec:	e493e004 	ldr	lr, [r3], #4
40703ff0:	e153000c 	cmp	r3, ip
40703ff4:	e5a2e004 	str	lr, [r2, #4]!
40703ff8:	1afffffb 	bne	40703fec <sdhci_read_boot_data+0x40>
40703ffc:	e2414a06 	sub	r4, r1, #24576	; 0x6000
40704000:	e59f706c 	ldr	r7, [pc, #108]	; 40704074 <sdhci_read_boot_data+0xc8>
40704004:	e7e83054 	ubfx	r3, r4, #0, #9
40704008:	e2805a06 	add	r5, r0, #24576	; 0x6000
4070400c:	e3530000 	cmp	r3, #0
40704010:	e1a044a4 	lsr	r4, r4, #9
40704014:	12844001 	addne	r4, r4, #1
40704018:	e3a06000 	mov	r6, #0
4070401c:	e3a01e7d 	mov	r1, #2000	; 0x7d0
40704020:	e3a00020 	mov	r0, #32
40704024:	ebffffcc 	bl	40703f5c <sdhci_check_int_status>
40704028:	e3500000 	cmp	r0, #0
4070402c:	1a00000c 	bne	40704064 <sdhci_read_boot_data+0xb8>
40704030:	e3a03020 	mov	r3, #32
40704034:	e5873030 	str	r3, [r7, #48]	; 0x30
40704038:	e1a03005 	mov	r3, r5
4070403c:	e2855c02 	add	r5, r5, #512	; 0x200
40704040:	e5972020 	ldr	r2, [r7, #32]
40704044:	e4832004 	str	r2, [r3], #4
40704048:	e1530005 	cmp	r3, r5
4070404c:	1afffffb 	bne	40704040 <sdhci_read_boot_data+0x94>
40704050:	e2866001 	add	r6, r6, #1
40704054:	e1560004 	cmp	r6, r4
40704058:	1affffef 	bne	4070401c <sdhci_read_boot_data+0x70>
4070405c:	e3a00000 	mov	r0, #0
40704060:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
40704064:	e3e00000 	mvn	r0, #0
40704068:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}
4070406c:	04010500 	.word	0x04010500
40704070:	04016500 	.word	0x04016500
40704074:	10010000 	.word	0x10010000

40704078 <emmc_boot_read>:
40704078:	eaffffcb 	b	40703fac <sdhci_read_boot_data>

4070407c <hw_dec_sop_eop_first_set>:
4070407c:	e59f2034 	ldr	r2, [pc, #52]	; 407040b8 <hw_dec_sop_eop_first_set+0x3c>
40704080:	e3500001 	cmp	r0, #1
40704084:	e59f3030 	ldr	r3, [pc, #48]	; 407040bc <hw_dec_sop_eop_first_set+0x40>
40704088:	13a01001 	movne	r1, #1
4070408c:	15821000 	strne	r1, [r2]
40704090:	13a02000 	movne	r2, #0
40704094:	05830000 	streq	r0, [r3]
40704098:	15832000 	strne	r2, [r3]
4070409c:	e59f301c 	ldr	r3, [pc, #28]	; 407040c0 <hw_dec_sop_eop_first_set+0x44>
407040a0:	05820000 	streq	r0, [r2]
407040a4:	e3a02000 	mov	r2, #0
407040a8:	e5832000 	str	r2, [r3]
407040ac:	e59f3010 	ldr	r3, [pc, #16]	; 407040c4 <hw_dec_sop_eop_first_set+0x48>
407040b0:	e5830000 	str	r0, [r3]
407040b4:	e12fff1e 	bx	lr
407040b8:	4073b454 	.word	0x4073b454
407040bc:	4073b450 	.word	0x4073b450
407040c0:	4073b44c 	.word	0x4073b44c
407040c4:	4073b448 	.word	0x4073b448

407040c8 <hw_dec_intr_proc>:
407040c8:	e59f30a0 	ldr	r3, [pc, #160]	; 40704170 <hw_dec_intr_proc+0xa8>
407040cc:	e5931124 	ldr	r1, [r3, #292]	; 0x124
407040d0:	f57ff05f 	dmb	sy
407040d4:	e3110002 	tst	r1, #2
407040d8:	0a00000c 	beq	40704110 <hw_dec_intr_proc+0x48>
407040dc:	e59f2090 	ldr	r2, [pc, #144]	; 40704174 <hw_dec_intr_proc+0xac>
407040e0:	e5920080 	ldr	r0, [r2, #128]	; 0x80
407040e4:	f57ff05f 	dmb	sy
407040e8:	e3500000 	cmp	r0, #0
407040ec:	aa000002 	bge	407040fc <hw_dec_intr_proc+0x34>
407040f0:	f57ff05f 	dmb	sy
407040f4:	e3a00001 	mov	r0, #1
407040f8:	e5820090 	str	r0, [r2, #144]	; 0x90
407040fc:	e5932130 	ldr	r2, [r3, #304]	; 0x130
40704100:	f57ff05f 	dmb	sy
40704104:	e3822002 	orr	r2, r2, #2
40704108:	f57ff05f 	dmb	sy
4070410c:	e5832130 	str	r2, [r3, #304]	; 0x130
40704110:	e3110001 	tst	r1, #1
40704114:	0a000013 	beq	40704168 <hw_dec_intr_proc+0xa0>
40704118:	e59f2054 	ldr	r2, [pc, #84]	; 40704174 <hw_dec_intr_proc+0xac>
4070411c:	e5923084 	ldr	r3, [r2, #132]	; 0x84
40704120:	f57ff05f 	dmb	sy
40704124:	e3530000 	cmp	r3, #0
40704128:	a3a00000 	movge	r0, #0
4070412c:	aa000006 	bge	4070414c <hw_dec_intr_proc+0x84>
40704130:	e6ef3073 	uxtb	r3, r3
40704134:	e3530000 	cmp	r3, #0
40704138:	03a00000 	moveq	r0, #0
4070413c:	13e00001 	mvnne	r0, #1
40704140:	f57ff05f 	dmb	sy
40704144:	e3a03001 	mov	r3, #1
40704148:	e5823094 	str	r3, [r2, #148]	; 0x94
4070414c:	e59f201c 	ldr	r2, [pc, #28]	; 40704170 <hw_dec_intr_proc+0xa8>
40704150:	e5923130 	ldr	r3, [r2, #304]	; 0x130
40704154:	f57ff05f 	dmb	sy
40704158:	e3833001 	orr	r3, r3, #1
4070415c:	f57ff05f 	dmb	sy
40704160:	e5823130 	str	r3, [r2, #304]	; 0x130
40704164:	e12fff1e 	bx	lr
40704168:	e3e00000 	mvn	r0, #0
4070416c:	e12fff1e 	bx	lr
40704170:	11310000 	.word	0x11310000
40704174:	11312000 	.word	0x11312000

40704178 <hw_dec_start>:
40704178:	e59fc0a0 	ldr	ip, [pc, #160]	; 40704220 <hw_dec_start+0xa8>
4070417c:	e92d4010 	push	{r4, lr}
40704180:	e59ce000 	ldr	lr, [ip]
40704184:	e59d4010 	ldr	r4, [sp, #16]
40704188:	e35e0000 	cmp	lr, #0
4070418c:	0a000006 	beq	407041ac <hw_dec_start+0x34>
40704190:	e3540000 	cmp	r4, #0
40704194:	e59fe088 	ldr	lr, [pc, #136]	; 40704224 <hw_dec_start+0xac>
40704198:	1a000017 	bne	407041fc <hw_dec_start+0x84>
4070419c:	f57ff05f 	dmb	sy
407041a0:	e58e1020 	str	r1, [lr, #32]
407041a4:	f57ff05f 	dmb	sy
407041a8:	e58e3024 	str	r3, [lr, #36]	; 0x24
407041ac:	f57ff05f 	dmb	sy
407041b0:	e59f106c 	ldr	r1, [pc, #108]	; 40704224 <hw_dec_start+0xac>
407041b4:	e3540000 	cmp	r4, #0
407041b8:	e59f3068 	ldr	r3, [pc, #104]	; 40704228 <hw_dec_start+0xb0>
407041bc:	e5810040 	str	r0, [r1, #64]	; 0x40
407041c0:	e5933000 	ldr	r3, [r3]
407041c4:	e59c0000 	ldr	r0, [ip]
407041c8:	e1a03e83 	lsl	r3, r3, #29
407041cc:	e1833e00 	orr	r3, r3, r0, lsl #28
407041d0:	e1832002 	orr	r2, r3, r2
407041d4:	03a03102 	moveq	r3, #-2147483648	; 0x80000000
407041d8:	13a03000 	movne	r3, #0
407041dc:	e1832002 	orr	r2, r3, r2
407041e0:	f57ff05f 	dmb	sy
407041e4:	e5812044 	str	r2, [r1, #68]	; 0x44
407041e8:	f57ff05f 	dmb	sy
407041ec:	e59f3038 	ldr	r3, [pc, #56]	; 4070422c <hw_dec_start+0xb4>
407041f0:	e59d2008 	ldr	r2, [sp, #8]
407041f4:	e5832000 	str	r2, [r3]
407041f8:	e8bd8010 	pop	{r4, pc}
407041fc:	f57ff05f 	dmb	sy
40704200:	e2833eff 	add	r3, r3, #4080	; 0xff0
40704204:	e58e1028 	str	r1, [lr, #40]	; 0x28
40704208:	e283300f 	add	r3, r3, #15
4070420c:	e1a03623 	lsr	r3, r3, #12
40704210:	e1a03103 	lsl	r3, r3, #2
40704214:	f57ff05f 	dmb	sy
40704218:	e58e302c 	str	r3, [lr, #44]	; 0x2c
4070421c:	eaffffe2 	b	407041ac <hw_dec_start+0x34>
40704220:	4073b454 	.word	0x4073b454
40704224:	11312000 	.word	0x11312000
40704228:	4073b450 	.word	0x4073b450
4070422c:	11314000 	.word	0x11314000

40704230 <hw_dec_wait_finish>:
40704230:	e92d4070 	push	{r4, r5, r6, lr}
40704234:	e3a04000 	mov	r4, #0
40704238:	e59f5028 	ldr	r5, [pc, #40]	; 40704268 <hw_dec_wait_finish+0x38>
4070423c:	e3a01000 	mov	r1, #0
40704240:	e3a00056 	mov	r0, #86	; 0x56
40704244:	ebffff9f 	bl	407040c8 <hw_dec_intr_proc>
40704248:	e2844001 	add	r4, r4, #1
4070424c:	e0543005 	subs	r3, r4, r5
40704250:	13a03001 	movne	r3, #1
40704254:	e3700001 	cmn	r0, #1
40704258:	13a03000 	movne	r3, #0
4070425c:	e3530000 	cmp	r3, #0
40704260:	1afffff5 	bne	4070423c <hw_dec_wait_finish+0xc>
40704264:	e8bd8070 	pop	{r4, r5, r6, pc}
40704268:	000186a1 	.word	0x000186a1

4070426c <hw_dec_decompress>:
4070426c:	e92d40f0 	push	{r4, r5, r6, r7, lr}
40704270:	e1a06000 	mov	r6, r0
40704274:	e24dd014 	sub	sp, sp, #20
40704278:	e3a00001 	mov	r0, #1
4070427c:	e1a04001 	mov	r4, r1
40704280:	e1a05002 	mov	r5, r2
40704284:	e1a07003 	mov	r7, r3
40704288:	ebffff7b 	bl	4070407c <hw_dec_sop_eop_first_set>
4070428c:	e59f304c 	ldr	r3, [pc, #76]	; 407042e0 <hw_dec_decompress+0x74>
40704290:	e1a02007 	mov	r2, r7
40704294:	e1a01006 	mov	r1, r6
40704298:	e1a00005 	mov	r0, r5
4070429c:	e5933000 	ldr	r3, [r3]
407042a0:	e58d3008 	str	r3, [sp, #8]
407042a4:	e3a03000 	mov	r3, #0
407042a8:	e58d3004 	str	r3, [sp, #4]
407042ac:	e58d3000 	str	r3, [sp]
407042b0:	e5943000 	ldr	r3, [r4]
407042b4:	ebffffaf 	bl	40704178 <hw_dec_start>
407042b8:	ebffffdc 	bl	40704230 <hw_dec_wait_finish>
407042bc:	e59f3020 	ldr	r3, [pc, #32]	; 407042e4 <hw_dec_decompress+0x78>
407042c0:	e5933088 	ldr	r3, [r3, #136]	; 0x88
407042c4:	f57ff05f 	dmb	sy
407042c8:	e2900000 	adds	r0, r0, #0
407042cc:	e5843000 	str	r3, [r4]
407042d0:	13a00001 	movne	r0, #1
407042d4:	e2600000 	rsb	r0, r0, #0
407042d8:	e28dd014 	add	sp, sp, #20
407042dc:	e8bd80f0 	pop	{r4, r5, r6, r7, pc}
407042e0:	4073b458 	.word	0x4073b458
407042e4:	11312000 	.word	0x11312000

407042e8 <hw_dec_init>:
407042e8:	e59f2054 	ldr	r2, [pc, #84]	; 40704344 <hw_dec_init+0x5c>
407042ec:	e5923190 	ldr	r3, [r2, #400]	; 0x190
407042f0:	f57ff05f 	dmb	sy
407042f4:	e3833001 	orr	r3, r3, #1
407042f8:	f57ff05f 	dmb	sy
407042fc:	e5823190 	str	r3, [r2, #400]	; 0x190
40704300:	f57ff05f 	dmb	sy
40704304:	e59f303c 	ldr	r3, [pc, #60]	; 40704348 <hw_dec_init+0x60>
40704308:	e3a01000 	mov	r1, #0
4070430c:	e5831108 	str	r1, [r3, #264]	; 0x108
40704310:	f57ff05f 	dmb	sy
40704314:	e3a02003 	mov	r2, #3
40704318:	e583210c 	str	r2, [r3, #268]	; 0x10c
4070431c:	f57ff05f 	dmb	sy
40704320:	e5831110 	str	r1, [r3, #272]	; 0x110
40704324:	f57ff05f 	dmb	sy
40704328:	e5832114 	str	r2, [r3, #276]	; 0x114
4070432c:	f57ff05f 	dmb	sy
40704330:	e5832128 	str	r2, [r3, #296]	; 0x128
40704334:	f57ff05f 	dmb	sy
40704338:	e3a02001 	mov	r2, #1
4070433c:	e5832100 	str	r2, [r3, #256]	; 0x100
40704340:	e12fff1e 	bx	lr
40704344:	12010000 	.word	0x12010000
40704348:	11310000 	.word	0x11310000

4070434c <hw_dec_uinit>:
4070434c:	f57ff05f 	dmb	sy
40704350:	e59f1034 	ldr	r1, [pc, #52]	; 4070438c <hw_dec_uinit+0x40>
40704354:	e3a02000 	mov	r2, #0
40704358:	e1a03002 	mov	r3, r2
4070435c:	e7c03012 	bfi	r3, r2, #0, #1
40704360:	e7c13092 	bfi	r3, r2, #1, #1
40704364:	e5812100 	str	r2, [r1, #256]	; 0x100
40704368:	f57ff05f 	dmb	sy
4070436c:	e59f201c 	ldr	r2, [pc, #28]	; 40704390 <hw_dec_uinit+0x44>
40704370:	e5813128 	str	r3, [r1, #296]	; 0x128
40704374:	e5923190 	ldr	r3, [r2, #400]	; 0x190
40704378:	f57ff05f 	dmb	sy
4070437c:	e3c33001 	bic	r3, r3, #1
40704380:	f57ff05f 	dmb	sy
40704384:	e5823190 	str	r3, [r2, #400]	; 0x190
40704388:	e12fff1e 	bx	lr
4070438c:	11310000 	.word	0x11310000
40704390:	12010000 	.word	0x12010000

40704394 <start_armboot>:
40704394:	e92d4030 	push	{r4, r5, lr}
40704398:	e24dd014 	sub	sp, sp, #20
4070439c:	ebfffebb 	bl	40703e90 <uart_early_init>
407043a0:	e59f008c 	ldr	r0, [pc, #140]	; 40704434 <start_armboot+0xa0>
407043a4:	ebfffec6 	bl	40703ec4 <uart_early_puts>
407043a8:	e59f3088 	ldr	r3, [pc, #136]	; 40704438 <start_armboot+0xa4>
407043ac:	e3a00000 	mov	r0, #0
407043b0:	e59f4084 	ldr	r4, [pc, #132]	; 4070443c <start_armboot+0xa8>
407043b4:	e5830000 	str	r0, [r3]
407043b8:	ebffffca 	bl	407042e8 <hw_dec_init>
407043bc:	e59f307c 	ldr	r3, [pc, #124]	; 40704440 <start_armboot+0xac>
407043c0:	e28d100c 	add	r1, sp, #12
407043c4:	e5532004 	ldrb	r2, [r3, #-4]
407043c8:	e5cd200c 	strb	r2, [sp, #12]
407043cc:	e5532003 	ldrb	r2, [r3, #-3]
407043d0:	e5cd200d 	strb	r2, [sp, #13]
407043d4:	e5532002 	ldrb	r2, [r3, #-2]
407043d8:	e5cd200e 	strb	r2, [sp, #14]
407043dc:	e5532001 	ldrb	r2, [r3, #-1]
407043e0:	e5cd200f 	strb	r2, [sp, #15]
407043e4:	e59f2058 	ldr	r2, [pc, #88]	; 40704444 <start_armboot+0xb0>
407043e8:	e0433002 	sub	r3, r3, r2
407043ec:	e58d0000 	str	r0, [sp]
407043f0:	e1a00004 	mov	r0, r4
407043f4:	ebffff9c 	bl	4070426c <hw_dec_decompress>
407043f8:	e2505000 	subs	r5, r0, #0
407043fc:	1a000009 	bne	40704428 <start_armboot+0x94>
40704400:	e59f0040 	ldr	r0, [pc, #64]	; 40704448 <start_armboot+0xb4>
40704404:	ebfffeae 	bl	40703ec4 <uart_early_puts>
40704408:	ebffffcf 	bl	4070434c <hw_dec_uinit>
4070440c:	ee075f15 	mcr	15, 0, r5, cr7, cr5, {0}
40704410:	ee075fd5 	mcr	15, 0, r5, cr7, cr5, {6}
40704414:	f57ff04f 	dsb	sy
40704418:	f57ff06f 	isb	sy
4070441c:	e12fff34 	blx	r4
40704420:	e28dd014 	add	sp, sp, #20
40704424:	e8bd8030 	pop	{r4, r5, pc}
40704428:	e59f001c 	ldr	r0, [pc, #28]	; 4070444c <start_armboot+0xb8>
4070442c:	ebfffea4 	bl	40703ec4 <uart_early_puts>
40704430:	eafffffe 	b	40704430 <start_armboot+0x9c>
40704434:	4073b3f8 	.word	0x4073b3f8
40704438:	4073b458 	.word	0x4073b458
4070443c:	40800000 	.word	0x40800000
40704440:	4073b361 	.word	0x4073b361
40704444:	407045c0 	.word	0x407045c0
40704448:	4073b406 	.word	0x4073b406
4070444c:	4073b40a 	.word	0x4073b40a

40704450 <hang>:
40704450:	e92d4010 	push	{r4, lr}
40704454:	e59f0004 	ldr	r0, [pc, #4]	; 40704460 <hang+0x10>
40704458:	ebfffe99 	bl	40703ec4 <uart_early_puts>
4070445c:	eafffffe 	b	4070445c <hang+0xc>
40704460:	4073b3ce 	.word	0x4073b3ce

40704464 <do_bad_sync>:
40704464:	e92d4010 	push	{r4, lr}
40704468:	e59f0014 	ldr	r0, [pc, #20]	; 40704484 <do_bad_sync+0x20>
4070446c:	ebfffe94 	bl	40703ec4 <uart_early_puts>
40704470:	e59f0010 	ldr	r0, [pc, #16]	; 40704488 <do_bad_sync+0x24>
40704474:	ebfffe92 	bl	40703ec4 <uart_early_puts>
40704478:	e3a00000 	mov	r0, #0
4070447c:	e8bd4010 	pop	{r4, lr}
40704480:	ea000047 	b	407045a4 <reset_cpu>
40704484:	4073b3a9 	.word	0x4073b3a9
40704488:	4073b3ba 	.word	0x4073b3ba

4070448c <do_sync>:
4070448c:	e92d4010 	push	{r4, lr}
40704490:	e59f0014 	ldr	r0, [pc, #20]	; 407044ac <do_sync+0x20>
40704494:	ebfffe8a 	bl	40703ec4 <uart_early_puts>
40704498:	e59f0010 	ldr	r0, [pc, #16]	; 407044b0 <do_sync+0x24>
4070449c:	ebfffe88 	bl	40703ec4 <uart_early_puts>
407044a0:	e3a00000 	mov	r0, #0
407044a4:	e8bd4010 	pop	{r4, lr}
407044a8:	ea00003d 	b	407045a4 <reset_cpu>
407044ac:	4073b3ad 	.word	0x4073b3ad
407044b0:	4073b3ba 	.word	0x4073b3ba

407044b4 <do_bad_error>:
407044b4:	e92d4010 	push	{r4, lr}
407044b8:	e59f0014 	ldr	r0, [pc, #20]	; 407044d4 <do_bad_error+0x20>
407044bc:	ebfffe80 	bl	40703ec4 <uart_early_puts>
407044c0:	e59f0010 	ldr	r0, [pc, #16]	; 407044d8 <do_bad_error+0x24>
407044c4:	ebfffe7e 	bl	40703ec4 <uart_early_puts>
407044c8:	e3a00000 	mov	r0, #0
407044cc:	e8bd4010 	pop	{r4, lr}
407044d0:	ea000033 	b	407045a4 <reset_cpu>
407044d4:	4073b368 	.word	0x4073b368
407044d8:	4073b3ba 	.word	0x4073b3ba

407044dc <do_error>:
407044dc:	e92d4010 	push	{r4, lr}
407044e0:	e59f0014 	ldr	r0, [pc, #20]	; 407044fc <do_error+0x20>
407044e4:	ebfffe76 	bl	40703ec4 <uart_early_puts>
407044e8:	e59f0010 	ldr	r0, [pc, #16]	; 40704500 <do_error+0x24>
407044ec:	ebfffe74 	bl	40703ec4 <uart_early_puts>
407044f0:	e3a00000 	mov	r0, #0
407044f4:	e8bd4010 	pop	{r4, lr}
407044f8:	ea000029 	b	407045a4 <reset_cpu>
407044fc:	4073b36c 	.word	0x4073b36c
40704500:	4073b3ba 	.word	0x4073b3ba

40704504 <do_bad_fiq>:
40704504:	e92d4010 	push	{r4, lr}
40704508:	e59f0014 	ldr	r0, [pc, #20]	; 40704524 <do_bad_fiq+0x20>
4070450c:	ebfffe6c 	bl	40703ec4 <uart_early_puts>
40704510:	e59f0010 	ldr	r0, [pc, #16]	; 40704528 <do_bad_fiq+0x24>
40704514:	ebfffe6a 	bl	40703ec4 <uart_early_puts>
40704518:	e3a00000 	mov	r0, #0
4070451c:	e8bd4010 	pop	{r4, lr}
40704520:	ea00001f 	b	407045a4 <reset_cpu>
40704524:	4073b374 	.word	0x4073b374
40704528:	4073b3ba 	.word	0x4073b3ba

4070452c <do_bad_irq>:
4070452c:	e92d4010 	push	{r4, lr}
40704530:	e59f0014 	ldr	r0, [pc, #20]	; 4070454c <do_bad_irq+0x20>
40704534:	ebfffe62 	bl	40703ec4 <uart_early_puts>
40704538:	e59f0010 	ldr	r0, [pc, #16]	; 40704550 <do_bad_irq+0x24>
4070453c:	ebfffe60 	bl	40703ec4 <uart_early_puts>
40704540:	e3a00000 	mov	r0, #0
40704544:	e8bd4010 	pop	{r4, lr}
40704548:	ea000015 	b	407045a4 <reset_cpu>
4070454c:	4073b391 	.word	0x4073b391
40704550:	4073b3ba 	.word	0x4073b3ba

40704554 <do_fiq>:
40704554:	e92d4010 	push	{r4, lr}
40704558:	e59f0014 	ldr	r0, [pc, #20]	; 40704574 <do_fiq+0x20>
4070455c:	ebfffe58 	bl	40703ec4 <uart_early_puts>
40704560:	e59f0010 	ldr	r0, [pc, #16]	; 40704578 <do_fiq+0x24>
40704564:	ebfffe56 	bl	40703ec4 <uart_early_puts>
40704568:	e3a00000 	mov	r0, #0
4070456c:	e8bd4010 	pop	{r4, lr}
40704570:	ea00000b 	b	407045a4 <reset_cpu>
40704574:	4073b378 	.word	0x4073b378
40704578:	4073b3ba 	.word	0x4073b3ba

4070457c <do_irq>:
4070457c:	e92d4010 	push	{r4, lr}
40704580:	e59f0014 	ldr	r0, [pc, #20]	; 4070459c <do_irq+0x20>
40704584:	ebfffe4e 	bl	40703ec4 <uart_early_puts>
40704588:	e59f0010 	ldr	r0, [pc, #16]	; 407045a0 <do_irq+0x24>
4070458c:	ebfffe4c 	bl	40703ec4 <uart_early_puts>
40704590:	e3a00000 	mov	r0, #0
40704594:	e8bd4010 	pop	{r4, lr}
40704598:	ea000001 	b	407045a4 <reset_cpu>
4070459c:	4073b395 	.word	0x4073b395
407045a0:	4073b3ba 	.word	0x4073b3ba

407045a4 <reset_cpu>:
407045a4:	e59f100c 	ldr	r1, [pc, #12]	; 407045b8 <rstctl>
407045a8:	e3a03002 	mov	r3, #2
407045ac:	e5813000 	str	r3, [r1]
407045b0:	e1a00000 	nop			; (mov r0, r0)

407045b4 <_loop_forever>:
407045b4:	eafffffe 	b	407045b4 <_loop_forever>

407045b8 <rstctl>:
407045b8:	12020004 	.word	0x12020004
